Так что здесь есть ряд вопросов.Для начала вы инициализируете целочисленную область (NUM), а затем пытаетесь распечатать ее в конце.Кроме того, вы инициализируете i, но не инициализируете index.Это приведет к тому, что значения, которые заполняют NUM, будут отличаться от ожидаемых, потому что ваша отправная точка - «мусор».
Ниже я включил слегка измененную версию.Обратите внимание, что после инициализации индекса я присваиваю ему значение, так что начальная точка равна нулю, как i
.Я сделал небольшую модификацию в цикле, у меня for(i=0; i < sizeof(NUM)/sizeof(NUM[0]); i++)
.Единственное отличие здесь состоит в том, что вместо итерации произвольного числа раз (8 в вашем случае), я выполняю итерацию в цикле на основе общей длины массива (в байтах), деленной на длину каждого элемента (в байтах), котораядает общее количество целых чисел, которые оно содержит.Затем я печатаю каждый элемент области, как он назначен с printf("this is the number %d\n\n",NUM[i]);
.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int NUM[10];
int i,index;
index = 0;
for(i=0 ; i < sizeof(NUM)/sizeof(NUM[0]); i++){
NUM[index]=i;
printf("this is the number %d\n\n",NUM[i]);
index++;
}
return 0;
}