| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 536 人关注过本帖
标题:c !=EOF的问题
只看楼主 加入收藏
terry6677
Rank: 1
等 级:新手上路
帖 子: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
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 
你可以这么理解,一个班里有很多同学,getchar()是老师,getchar老师说c同学上来巴这个题解出来,c同学就会屁颠屁颠上来解题,getchar说,同学上来巴这个题解出来,台下的同学就想了,老师今天的神经病是不是又开始了,,
2015-07-18 18:29
terry6677
Rank: 1
等 级:新手上路
帖 子:45
专家分:5
注 册:2015-6-29
收藏
得分:0 
回复 2楼 hjx1120
可是为什么这一段中不用c同学?
long nc;
nc=0;
while(getchar()!=EOF)
{++nc;
printf("%d\n",cn)
}
2015-07-18 19:34
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:45
专家分:5
注 册:2015-6-29
收藏
得分:0 
回复 4楼 T_MACC
哥,if (c == '\n')
             ++nl;
 if不加括号只能作用于   ++nl;   
不能作用与
printf("%d\n",nl);  
所以输出结果是 0

没看明白,请再给我讲讲吧
2015-07-18 19:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:45
专家分:5
注 册:2015-6-29
收藏
得分:0 
回复 6楼 TonyDeng
谢谢!非常感谢!
2015-07-21 14:35
快速回复:c !=EOF的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020199 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved