可能な重複は:
A riddle (in C)
Confused about C macro expansion and integer arithmetic
Cコードに続く問題は何ですか?
以下Cプログラムの予想される出力は、アレイ内の要素を印刷することです。しかし、実際に走っても、それはしません。
#include<stdio.h>
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))
int array[] = {23,34,12,17,204,99,16};
int main()
{
int d;
for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
printf("%d\n",array[d+1]);
return 0;
}
間違いはありますか? –
どのようにデバッグを試みましたか?例えば、TOTAL_ELEMENTSの価値を印刷しようとしましたか? –
http://codepad.org/n814mOIf –