Когда я инициализирую массив ниже всего вывода, выглядит нормально, за исключением values[3]
. По какой-то причине values[3]
, инициализированный как values[0]+values[5]
, выводит очень большое число. Я предполагаю, что я пытаюсь назначить values[0]+values[5]
, прежде чем они будут правильно сохранены в памяти, но если кто-то может объяснить, что это было бы здорово.
int main (void)
{
int values[10] = {
[0]=197,[2]=-100,[5]=350,
[3]=values[0] + values[5],
[9]= values[5]/10
};
int index;
for (index=0; index<10; index++)
printf("values[%i] = %i\n", index, values[index]);
return 0;
}
Выход выглядит следующим образом:
values[0] = 197
values[1] = 0
values[2] = -100
values[3] = -1217411959
values[4] = 0
values[5] = 350
values[6] = 0
values[7] = 0
values[8] = 0
values[9] = 35