トップ «前の日記(2007-10-15 [月]) 最新 次の日記(2007-10-17 [水])» 編集

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2007-10-16 [火] [長年日記]

[Other] 実装依存を常識といわれても

次のコードの問題点を指摘しなさい、みたいな問題があった。

char str[5] = "abcde";
printf("%s\n", str);

で、京都の専門学校生が「コンパイルエラーになるよね」って言っていたのが気になりました。まず、C言語の仕様上エラーにはならないし、この問題の製作者の意図からしても文字列の最後にNULが含まれないことを答えてほしいんだろうと思うのですが。私は彼にコンパイルが通らない理由を聞いたら「Visual C++ではエラーになる」と。コンパイラ実装上の問題ですな。これから彼はいろいろ勉強することになるだろうな。

サイズを指定した配列の初期化 http://www.st.rim.or.jp/~phinloda/cqa/cqa2.html


Copyright © 2004-2008 SewiG All rights reserved.