标题:新人对getchar输入有问题
只看楼主
woshifeiwang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-11-10
结帖率:0
已结贴  问题点数:20 回复次数:1 
新人对getchar输入有问题
#include<stdio.h>
main()
{
   
    int c;
    int nl = 0;
   
    while((c = getchar()) != EOF){
         putchar(c);
        if(c == 1)
            nl++;
}
    printf("%d",nl);
    return 0;
}
代码如上,想统计一下,输入中有几个1,但是统计时发现这个if是不执行的为什么呢?

搜索更多相关主题的帖子: 输入 getchar code int 统计 
2019-11-10 22:14
三尺冰
Rank: 2
等 级:论坛游民
帖 子:17
专家分:50
注 册:2019-10-22
得分:20 
1.getchar()读入的是字符,字符的'1' != 1,所以应该是if(c == '1' || c == 49)
2.自己输入的话不要用 == EOF,可以自己设置一个结束标志,比如不常用的特殊字符
3.说的有问题的请指出。


[此贴子已经被作者于2019-11-10 23:45编辑过]


天道酬勤,自强不息
2019-11-10 23:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497717-1-1.html




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

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