回 帖 发 新 帖 刷新版面

主题:本人刚学C语言 不太理解for空语句  大虾帮忙解释下

本人自学C语言不久,看的是《The C Program Language》。问中有一编程例子如下:

#inculde<stdio.h>

main( )
{
    double  nc;
    for (nc=0; getchar()!=EOF;++nc)
    ;
    printf("%.0f\n",nc);
}

本书作者对空语句解释是:此句的所有工作都在测试部分和加步长部分做了 。但是我对空语句还是不了解啊  求各位帮忙解释下  。  还有我是个新手,请问各位能提些对C语音学习有帮助的建议吗。 C语音确实有点难啊!
         

回复列表 (共4个回复)

沙发

兄弟 是C语言 不是C语音  
慢慢学吧  仔仔细细    耐心
空语句  不干嘛把

板凳

空语句就是什么也不做,让循环空转
你要是不理解,可以把步长那部分抽出来放循环节里,效果一样

3 楼

for (nc=0; getchar()!=EOF;++nc)
    ;

或者换种循环来写
nc=0;
while(getchar()!=EOF)
  nc++;

4 楼


你是不理解语句的意思吗?因为getchar()会停顿,所以会一直从输入流读取字符直到读取的是EOF为止,因为不需要执行其他语句,所以用空语句,而该语句执行的功能应该是计算输入的字符数吧!

我来回复

您尚未登录,请登录后再回复。点此登录或注册