搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ c !=EOF的问题
标题:
c !=EOF的问题
只看楼主
terry6677
等 级:
新手上路
帖 子:45
专家分:5
注 册:2015-6-29
结帖率:
80%
楼主
已结贴
√
问题点数:20 回复次数:6
c !=EOF的问题
#include <stdio.h>
main()
{
int c, nl;
nl = 0;
while ((c = getchar() )!= EOF)
if (c == '\n')
++nl;
printf("%d\n",nl);
}
如果把c=去掉,变成getchar()!=EOF,这时候输出结果不管怎样都为0。
我想了好长时间也没明白,请大侠指点我一下。
2015-07-18 18:14
hjx1120
来 自:李掌柜
等 级:
贵宾
威 望:
41
帖 子:1314
专家分:6927
注 册:2008-1-3
第
2
楼
得分:2
你可以这么理解,一个班里有很多同学,getchar()是老师,getchar老师说c同学上来巴这个题解出来,c同学就会屁颠屁颠上来解题,getchar说,同学上来巴这个题解出来,台下的同学就想了,老师今天的神经病是不是又开始了,,
2015-07-18 18:29
terry6677
等 级:
新手上路
帖 子:45
专家分:5
注 册:2015-6-29
第
3
楼
得分:0
回复 2楼 hjx1120
可是为什么这一段中不用c同学?
long nc;
nc=0;
while(getchar()!=EOF)
{++nc;
printf("%d\n",cn)
}
2015-07-18 19:34
T_MACC
等 级:
业余侠客
威 望:
8
帖 子:99
专家分:211
注 册:2015-4-14
第
4
楼
得分:4
#include <stdio.h>
main()
{
int c, nl;
nl = 0;
while ((c = getchar() )!= EOF)
if (c == '\n')
++nl;
printf("%d\n",nl);
}
把c=去掉,变成getchar()!=EOF,
键盘输入的值无去向,也就是
if (c == '\n')
++nl;
if不加括号只能作用于 ++nl;
不能作用与
printf("%d\n",nl);
所以输出结果是 0
2015-07-18 19:47
terry6677
等 级:
新手上路
帖 子:45
专家分:5
注 册:2015-6-29
第
5
楼
得分:0
回复 4楼 T_MACC
哥,
if (c == '\n')
++nl;
if不加括号只能作用于 ++nl;
不能作用与
printf("%d\n",nl);
所以输出结果是 0
没看明白,请再给我讲讲吧
2015-07-18 19:56
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
得分:14
以下是引用
terry6677
在2015-7-18 18:14:42的发言:
#include <stdio.h>
main()
{
int c, nl;
nl = 0;
while ((c = getchar() )!= EOF)
if (c == '\n')
++nl;
printf("%d\n",nl);
}
如果把c=去掉,变成getchar()!=EOF,这时候输出结果不管怎样都为0。
我想了好长时间也没明白,请大侠指点我一下。
你后面的if()要判断c,但前面既然不把getchar()得到的数据赋值给c,后面的c还会变化吗?它的初值是什么?
授人以渔,不授人以鱼。
2015-07-19 10:20
terry6677
等 级:
新手上路
帖 子:45
专家分:5
注 册:2015-6-29
第
7
楼
得分:0
回复 6楼 TonyDeng
谢谢!非常感谢!
2015-07-21 14:35
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-455516-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.018298 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved