lol巨魔符文:有关C语言中循环的问题

来源:百度文库 编辑:高校问答 时间:2024/05/06 13:06:41
请问,下面这个程序中那三个for循环是如何执行的?顺序是怎样的呢?输出的结果是什么?
main()
{int i,j,k;
printf("i j k\n");
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
printf("%d%d%d\n",i,j,k);
}

还有,关于死循环是不是说一直不停地循环,有没有什么办法让它跳出循环呢?
while(1) ;

循环的嵌套
for(i=0;i<2;i++)
___for(j=0;j<2;j++)
_______for(k=0;k<2;k++)
___________printf("%d%d%d\n",i,j,k);
这样看会舒服一点
你可以这样想
for(i=0;i<2;i++)
___{for(j=0;j<2;j++)
_______{for(k=0;k<2;k++)
___________printf("%d%d%d\n",i,j,k);
_______}
___}
当然是先内后外咯

while(1);是死定了
但如果可以在";"内加语句的话当然是可以的
如:
while(1)
{
a++;
if(a>100)break;
}
goto的问题是使程序不明了,不符合结构化原则,但用的好的话,是能提高效率的

第一次,先是一个赋值过程,即:i=0,j=0,k=0;然后经printf函数输出;之后,i=0,j=0,k=1;依次类推,程序由内循环向外循环执行。直到程序结束。
对于while(1)循环的结束,只需要在该循环中加入循环终止条件即可。

先从最内层开始执行,这里就是先k,后j,后i,结果也就是:(输出结果仅限于循环体中的那一句)
000
001
010
011
100
101
110
111

死循环可以用break语句或是goto(不建议)跳出

学C象你这样楸还有意义啊?!