lz_zx 发表于 2014-6-30 13:14:25

求助一个关于while语句控制范围问题

最近看D&R的第二版C语言书籍,上面说while语句的循环体可以是括在花括号里面的一系列语句,也可以是不用花括号包括的单条语句,讲到统计字符这里的时候,我遇到了问题。
这是其中的代码:
while((c=getchar())!=EOF)
       
                if(c>='0'&&c<='9')                  //此表示遇到了数字
                        ++ndigit;                //数字累加至统计数字的数组
                else if(c=='\t'||c=='\n'||c==' ')
                        ++nwhite;                     //累加空白符个数
                else
                        ++nother;//累加其他字符出现次数
为什么这个WHILE语句循环体是(if、else if、else)三条语句,没有用花括号。
而循环体不是        if(c>='0'&&c<='9')        ++ndigit;   这条
               
我是新手,多多包涵哈
               
       

sidfate 发表于 2014-6-30 15:06:51

因为 if、else if、else 是一条复合语句

lz_zx 发表于 2014-6-30 18:15:30

sidfate 发表于 2014-6-30 15:06 static/image/common/back.gif
因为 if、else if、else 是一条复合语句

好,谢谢你的解答
页: [1]
查看完整版本: 求助一个关于while语句控制范围问题