我寫一個簡單的程序來計算字符的用戶的數量進入了,我寫了,如果要請檢查是否有一個換行符,但仍然打印出來..如何計算沒有換行符的字符數?
代碼:
#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;
}
什麼我做錯了嗎?
你可能想考慮所有的控制字符,而不僅僅是新行。 http://www.cplusplus.com/reference/cctype/iscntrl/或相反的可打印字符http://www.cplusplus.com/reference/cctype/isprint/ –
請注意,['getchar()'](http:/ /en.cppreference.com/w/c/io/getchar)返回一個'int',而不是'char'。 – hmjd
所以ch應該是int ch? @hmjd – JohnBigs