C语言的for循环语句

#include <stdio.h>
void main()
{
int chick,rooster,hen;

for(rooster=0;rooster<=100;rooster++)
for(hen=0;hen<=100;hen++)
for(chick=0;chick<=100;chick++)
if(rooster+hen+chick==100&&rooster*2+hen*3+chick*0.5==100)
printf("rooster=%d hen=%d chick=%d\n",rooster,hen,chick);
}为什么这个程序能执行呢?for语句下面若有多条语句必须用"{"才行呀,为什么这个能执行呢?我用的VC
呵呵,是可以执行的。
for(rooster=0;rooster<=100;rooster++)
for(hen=0;hen<=100;hen++)
for(chick=0;chick<=100;chick++)
if(rooster+hen+chick==100&&rooster*2+hen*3+chick*0.5==100)
printf("rooster=%d hen=%d chick=%d\答指n",rooster,hen,chick); 因为只有到这里才旁举缺有分号。用{}是在多个分号出现的语运辩句中。
for while if 等语言语法中都有“若有多条语句必须用"{"才行呀”类似的规定。即使说循环分支斗志对其后的一条语句(或语句块用“{}”扩起来)的有效。
问备唤题中的程序游滚燃实际神虚上是类似下面这样的嵌套
for(rooster=0;rooster<=100;rooster++)
for(hen=0;hen<=100;hen++)
for(chick=0;chick<=100;chick++)
if(rooster+hen+chick==100&&rooster*2+hen*3+chick*0.5==100)
printf("rooster=%d hen=%d chick=%d\n",rooster,hen,chick);
每个for 对下面一句有效,可是下面的一句又是一个for循环,以此类推到输出。
如果不带大括号,说明只能执行一游败胡句语句。
第一个FOR后面只执行第枯穗二个FOR语句,但第二个FOR语句后神拦面也只执行第三个FOR语句,第三个FOR语句后面只执行if语句,if后面跟一个输出语句。所以这个程序能够运行。
是可以执行的,这个属于语句嵌套,并不是多团明条语句,可以这塌弊告样理解,第一个for执行第二个for,第二个for执行第三个,卜肢第三个for执行的是if语句,二if执行printf语句,都只执行了一条语句。
事情是这样的:
C语言的for循环语句
悬赏分:10 - 离问题结束还有 14 天 23 小时
#include <stdio.h>
void main()
{
int chick,rooster,hen;

for(rooster=0;rooster<=100;rooster++)
空格for(hen=0;hen<=100;hen++)
空格空格for(chick=0;chick<=100;chick++)
空格空格空格if(rooster+hen+chick==100&&rooster*2+hen*3+chick*0.5==100)
空格空格空格空格printf("rooster=%d hen=%d chick=%d\n",rooster,hen,chick);

这样子缩进来看就清楚多了吧。

不论是for、if之类的循环、判断条件之后要执行的语句, 当这些语句是1行的时候是不用加或悄{}的, 只有当2行及以上的时候才需要加{}。 不过为了阅读方便, 最好还是要使用伍团慧缩进便于阅读腔答以及理解