C语言中的for语句 用法

main()
{ int a=1 ;
for(a=1;a<0;a++)
{for(b=1;b<0;b++)}
printf("%d"b);
printf("%d",a); }
在这个语句里 第2个for语句 前边如果没有{}括号 外循环for会怎么执行啊? 应该是第一个for进行到哪里以后在回去a++啊????
不好意思 这个语句错了 我只是想知道 第一个for是怎么执行的
是不是 第2个for没有{}就一直执行下去啊 到最后一个语句为止
然后a++在变化???

第1个回答  2007-05-20
循环怎么都不会执行的,因为你的循环条件是for(a=1;a<0;a++),a<0循环就退出,怎么可能会执行!
还有:b没有定义,printf("%d"b); 这句也写错了!

不是你理解的这样,无论是循环1还是循环2,都是不会执行,因为你的a和b的初时值都是1,但是你的循环条件分别是a<0,b<0,因此循环都不会执行,把a<0和b<0;改成a<100和b<100吧

第2个for语句 前边有{}括号,编译都过不了,如果没有{}括号,就是printf("%d",b);执行100次后,printf("%d",a); 执行1次,再用第一个for循环重复上面的操作100次。总的就是printf("%d",b);10000次,printf("%d",a);100次。
第2个回答  2007-05-20
两个个for 不会执行,因为外层for的判断条件是a<0;而a的初值是1,所以第一个for循环不会执行,内层的当然也不会执行了,输出的话,因为b没有定义赋值所以编译会报错,所以这个程序本身就有问题,必须先定义int b=1;
那么输出就是b,a的值都是1
第3个回答  2007-05-20
如果没有{}那默认第一个for包括第二个for的所有内容本回答被提问者采纳
相似回答