语句for( ;1 ;)有什么问题?它是什么意思

语句for( ;1 ;)有什么问题?它是什么意思

他的意思是循环条件永远为真,不停地进行循环操作,除非循环体中有强制退出循环的语句才能终止循环,其实功能就相当于while(1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-11-19
它是个死循环 除非循环里有return或break语句
就是1的位置是条件表达式,1表示永远是true
第2个回答  2006-11-19
for(语句;迭代条件;语句)
;为空语句,表示什么也不执行
1 等价于true
第3个回答  2006-11-19
for(;1;)
是表示循环为真
相当于while(1)
第4个回答  2006-11-19
关于for循环
当循环体只有一条语句时我们可以不用{}将它括起来
但是循环体为两条语句以上时,就得用{}将它们括起来了
for(i=1;i<=5;i++)
for(j=0;j<=i;j++)
printf("#");
printf("\n");
以上代码是这样执行的
/*外层循环体只有一条语句;printf("#");是属于for(j=0;j<=i;j++) 的则作为一个整体来看*/
for(j=0;j<=i;j++)
printf("#");
/*内层循环体*/
printf("#");
执行过程:
外层循环i=1
内层循环j从0到i完了
外层循环i=2
内层循环j从0到i完了
...............
...............
...............
直到i=6时,外层循环才结束
即打印:1+2+3+4+5=15个#,中途没有回车换行
###############
最后才是执行printf("\n");

而下面的代码:
for(i=1;i<=5;i++)
{
for(j=0;j<=i;j++)
printf("#");
printf("\n");
}

/*外层循环体,两条语句,要用{}括起来*/
for(j=0;j<=i;j++)
printf("#");
printf("\n");
/*内层循环体*/
printf("#");
执行过程:
外层循环i=1
内层循环j从0到i完了
执行printf("\n"); 换行
外层循环i=2
内层循环j从0到i完了
执行printf("\n"); 换行
...............
...............
...............
直到i=6时,外层循环才结束
就是说内层循环结束以后就执行printf("\n"); 换行
其它结果为
#
##
###
####
#####

这样说应该明白了吧

参考资料:http://zhidao.baidu.com/question/15041145.html

相似回答