首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

while()循环有关问题

2013-01-05 
while()循环问题while(1){while(i10){b[i] 1 + ii++}for(i 0b[i]i++)printf(%d ,b[i])sleep(1

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]未定义,你能确定这个数是多少么?能保证他能按整形输出么?

[解决办法]
引用:
for(i = 0;b[i];i++)
这个没问题 他定义了b[10]=0了
估计是数组定义的时候是 new int【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);
}

热点排行