while()循环问题
while(1)
{
while(i<10)
{
b[i] = 1 + i;
i++;
}
for(i = 0;b[i];i++)
printf("%d ",b[i]);
sleep(1);
}
这个有问题吗,我在linux下运行的,求解?
[解决办法]
for循环的第二表达式导致数组越界,最终进入死循环
[解决办法]
在这个程序中b[i] 应该不会为 0 ,for循环何时终结呢?
[解决办法]
b[i]一直不为0,所以for循环会一直循环下去,变成死循环。
[解决办法]
肯定有问题啊。
for(i = 0;b[i];i++)//数组越界后,b[10]未定义,你能确定这个数是多少么?能保证他能按整形输出么?
[解决办法]
你确定他写的
int b[10] = 0;
是指b[10]=0?不是b[0]到b[9]为0?
[解决办法]
while(1)
{
while(i<10) // i没有初始化
{
b[i] = 1 + i;
i++;
}
for(i = 0;b[i];i++) // b[i]没有为0的,循环退不出
printf("%d ",b[i]);
sleep(1);
}