注册 登录
编程论坛 C语言论坛

新人对getchar输入有问题

woshifeiwang 发布于 2019-11-10 22:14, 1699 次点击
#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是不执行的为什么呢?
只有本站会员才能查看附件,请 登录

1 回复
#2
三尺冰2019-11-10 23:38
1.getchar()读入的是字符,字符的'1' != 1,所以应该是if(c == '1' || c == 49)
2.自己输入的话不要用 == EOF,可以自己设置一个结束标志,比如不常用的特殊字符
3.说的有问题的请指出。


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

1