我正在试图弄清楚为什么解除引用我的指针始终打印0.我放入其他打印语句以确保random()正常工作,并且确实如此。
int * first = (int *) malloc(sizeof(int) * N);
while( i < N)
first[i++] = random();
printf("%d", first[i]);
}
我甚至将first的值分配给另一个数组,这些值与random()返回的值相匹配。为什么我的while循环中的print语句总是打印0?
答案 0 :(得分:0)
first[i++] = random();
printf("%d", first[i]);
假设i为0,使用这两行,您将为数组的第一个元素赋值:
first[0] = random();
递增索引:
i++
然后在数组的第二个元素中打印值:
printf("%d", first[1]);
如果你明确地增加索引,那么应该更清楚:
while (i < N)
{
first[i] = random();
printf("%d", first[i]);
i++;
}
(您似乎也错过了开场括号({
),但这可能是问题中的拼写错误)