很抱歉问这么简单的问题,我还在学习C并首先完成基础知识。
我正在创建一个字符计数程序,但是当我执行程序并尝试输入“h”例如然后按回车键出现一个新行并且没有输出到该行?
代码:
#include <stdio.h>
/* Copy input and count characters 2nd version */
main() {
double cc;
for(cc = 0; getchar() != EOF; ++cc);
printf("%.0f\n", cc);
}
答案 0 :(得分:5)
输入完字符后,必须按Ctrl-D
发出输入流的结束信号。否则,您的程序将继续等待更多输入。
P.S。为什么在计数器中使用double
变量?整数类型更合适。
答案 1 :(得分:0)
也许(我不确定你到底想要什么)你在;
之后有一个额外的for()
,这意味着一个空的陈述。所以你的程序将运行空语句(换句话说,什么都不做)直到输入结束(如果输入是终端,你可能需要CTRL+D
),然后打印(一次)字符数。
如果您希望程序在输入中的每个字符后打印计数器,请删除;
,以便printf
处于循环中。
答案 2 :(得分:-2)
在结尾处包含此行,您将获得输出:
return 0;