В приведенном ниже коде ничего не печатается, что означает, что условие в цикле for
не выполняется. В чем может быть причина?
Мне интересно, потому что, когда я печатаю TOTAL_ELEMENTS
отдельно, он дает 5
, поэтому, естественно, это должно быть 5-2=3 => -1<=3
, поэтому оно должно что-то печатать.
#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;
}
Может кто-нибудь объяснить этот код?