您的位置:首页 > 其它

K&R《C程序语言学习》p12:统计输入的字符数

2017-06-12 11:29 344 查看
代码:

#include <stdio.h>

int main(int argc, const char * argv[])
{
long nc;
nc = 0;
while(getchar() != EOF)
{
++nc;
}
printf("%ld\nc", nc);

return 0;
}

运行结果:



分析:

(1)EOF表示文件结束符。在unix/linux/mac系统中,另起一行并按下ctrl+d表示文件结束;在windowx系统中,另起一行并按下ctrl+z表示文件结束。

(2)++表示自加。nc++和++nc都是表示nc = nc + 1。

(3)循环:以输入ab,换行并按下ctrl+d为例:

最初nc=0。然后进入第一次循环,你按下a时,getchar()得到了a,不是结束符,++nc,nc此时变成了1。

第二次循环,你输入了b,不是结束符,执行++nc,nc此时变成了2。

第三次循环,你输入了换行\n,不是结束符,执行nc++,nc变成了3。

第四次循环,你输入了ctrl+d,等价于EOF,循环结束。nc++不被执行。跳出循环。打印出nc的值,就是3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐