#include <stdio.h>
#define END 'z'
int main()
{
printf("Hello:\n");
int count = 0;
int c;
while ((c = getchar()) != END)
{
count++;
}
printf("You entered %d charaters.", count);
}
为什么会这样? :/
答案 0 :(得分:4)
每次使用getchar()输入一个字符,然后按&#34;输入&#34;,再输入一个char字符作为换行符。
while ((c = getchar()) != EOF)
{
if (c=='\n')
continue;
count++;
}
这将解决您的问题。
我已经用你和我的代码做了一些测试,只是为了看看是不是问题。输出在这里:
使用您的代码输出:
Hello:
a
s
d
df
You entered 9 charaters.
Hello:
asdf
You entered 5 charaters.
使用我的代码输出:
Hello:
a
s
d
f
You entered 4 charaters