C 语言 行计数的问题

[复制链接]
查看11 | 回复5 | 2011-12-26 13:02:56 | 显示全部楼层 |阅读模式
注意这个判断:if(c == '\n')++nl;也就是说每次接收到用户输入回车'\n'时,就将计数加一,即每当用户敲一次回车,就将计数加一由于用户敲回车的效果是将输入换行,所以,也就是用户输入数据换行一次,计数累加一次,所以这个代码就统计了行数,也就是行计数...
回复

使用道具 举报

千问 | 2011-12-26 13:02:56 | 显示全部楼层
c = getchar()得到的是当前输入的一个字符的值,((c = getchar()) != EOF)指当它有值得时候,如果你键入了回车键,那么n1就会加1,其实最后输出的应该是你键入了多少行。...
回复

使用道具 举报

千问 | 2011-12-26 13:02:56 | 显示全部楼层
最后的ctrl+z要按两次的,字符串好像是这样的,还有啊,int不要用ld吧,直接%d就行了#includemain(){int c,nl;nl = 0;char s[1000];while(gets(s)!=NULL){++nl;}printf("%ld\n",nl);}这样写保险,而且简洁是以一行...
回复

使用道具 举报

千问 | 2011-12-26 13:02:56 | 显示全部楼层
WIN7 64位 VS2008成功 跳出while的条件是 ctrl+z 你按了么???...
回复

使用道具 举报

千问 | 2011-12-26 13:02:56 | 显示全部楼层
嗯 就是这样没什么功能...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行