笑语语语 2021-09-11 18:41 采纳率: 100%
浏览 50
已结题

getchar()函数按回车不能运行

我按书上的习题写了一个代码,结果运行的时候按回车不能运行,我以为是我的代码写错了,就把习题的答案写了一遍,但是还是不行,我就做了一个小小的代码

#include <stdio.h>

main()
{
    int a;
    long nc;
    nc=0; 
    while((a=getchar())!=EOF)
    nc++;
    printf("%ld\n",nc);
    printf("%c\n",a);
    return 0; 
}

然后这个代码按回车依然不能运行,但是我发现我换一下输出的位置就可以运行了

#include <stdio.h>

main()
{
    int a;
    int nc;
    nc=0; 
    while((a=getchar())!=EOF){
        nc++;
        printf("%d\n",nc);
        printf("%c\n",a);
    }
    return 0; 
}

我就感觉挺神奇的吧,但我看来看去也不知道哪里出错了

#include <math.h> 
#include <stdio.h>


main()
{
    int a,n1,n2,n3;
    n1=0;
    n2=0;
    n3=0;
    while(a=getchar()!=EOF){
        if(a==' ')
        n1++;
        else if(a=='\t')
        n2++;
        else if(a=='\n')
        n3++;
    }
    printf("%d %d %d",n1,n2,n3);
    return 0;
}

这个是习题的答案,我也不知道是哪里有问题

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-09-11 19:19
    关注

    img


    这个循环是每getchar()一次,nc++自增一次,直到我们输入 ctrl + z 结束输入后, 后两句printf()才会执行到。

    img


    这里的循环是,每getchar()一次,后面的{
    nc++;
    printf("%d\n",nc);
    printf("%c\n",a);
    }都被执行一次,直到输入 ctrl + z 结束输入。

    书上习题的答案, while(a=getchar()!=EOF) 这句里少一对括号,修改见注释,供参考:

     #include <math.h>
    #include <stdio.h>
    main()
    {
        int a,n1,n2,n3;
        n1=0;
        n2=0;
        n3=0;
        while((a=getchar())!=EOF){ //while(a=getchar()!=EOF)
            if(a==' ')
            n1++;
            else if(a=='\t')
            n2++;
            else if(a=='\n')
            n3++;
        }
        printf("%d %d %d",n1,n2,n3);
       
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月11日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测