我正在写一个简单的程序来计算输入的字符用户的数量,我写了一个if if检查是否有换行但仍然打印它..
代码:
#include <stdio.h>
int main()
{
char ch;
int numberOfCharacters = 0;
printf("please enter a word, and ctrl + d to see the resault\n");
while ((ch = getchar()) != EOF)
{
if (numberOfCharacters != '\n')
{
numberOfCharacters++;
}
}
printf("The number of characters is %d", numberOfCharacters);
return 0;
}
我做错了什么?
答案 0 :(得分:6)
想想这一行:
if (numberOfCharacters != '\n')
怎么才有意义?您将目前为止读取的字符数与换行符进行比较,就像将苹果与橙子进行比较一样,肯定无法正常工作。这是你应该检查的另一个变量......
答案 1 :(得分:5)
将你的循环改为此。
while ((ch = getchar()) != EOF)
{
if(ch != '\n')
numberOfCharacters++;
}