[英]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检测,
要在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.