Следующая программа компилируется успешно, но когда я ее запускал, она ничего не печатает, когда я инициализирую цикл for с помощью -1, но когда я инициализирую цикл с 0, он успешно проходит весь массив. Я хочу спросить, не можем ли мы сделать это пересечь массив, когда мы инициализируем цикл for с отрицательным значением?Может ли кто-нибудь объяснить, почему следующая программа ничего не выводит?
#include <stdio.h>
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))
int array[] = {23, 34, 12, 17, 204, 99, 16};
int main(void) {
int d;
//printf("%d",TOTAL_ELEMENTS);
for (d = -1; d <= (TOTAL_ELEMENTS - 2); d++)
{
printf("%d ",d);
printf("%d\n", array[d+1]);
}
return 0;
}
[Почему (sizeof (int)> -1) false?] (Http://stackoverflow.com/q/34151309/995714), [Почему -1> sizeof (int)?] (Http://stackoverflow.com/q/3100365/995714) –