繁体   English   中英

字符计数程序不输出任何内容

[英]Character counting program doesn't output anything

我已经尝试过Dev-C ++和MinGW(32位),但是每次我运行代码时,都没有输出。 我正在使用Windows7。以下是我的代码。

#include<stdio.h>
main()
{
  long nc;
  nc=0;
  while(getchar()!=EOF)
    ++nc;
  printf("Number of chars are %ld ",nc);
}

我也尝试按Ctrl-D发出EOF信号,但它不起作用。 当我输入“ rajkumar”并[输入]时,它什么也没做。 当我两次输入“ rajkumar”和^ Z [enter]时,它结束。 我要问的是为什么它不打印预期的输出? 当我第一次尝试它时,它可以正常工作两次,但是后来我不知道出了什么问题。

基于此答案 ,要触发EOF检测,

  • 首先回车
  • 然后按下控件 Z (或Linux上的^ D),该控件必须在该行的开头
  • 如果仍未触发检测,请再次按ENTER

要在Windows上发出EOF信号,请按Ctrl-Z,然后按Enter。

注意:这适用于Windows控制台。 如果在IDE中运行程序,则IDE可能会或可能不会发出EOF信号。

getchar()获得单个字符,并且还接受Enter。 因此,如果先按r再按Enter,则仅输入r。 因此,您需要在按键后按Enter。 没有Enter,getchar()将不接受该字符。

尝试在打印文件的末尾添加\\ n。 类似于: printf("Number of chars are %ld /n",nc);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM