[英]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.