我在C中編寫了兩個程序來計算字符並打印值。如何在程序中輸入數據來計算輸入的字符數?
一個使用while循環和其他用途。編譯時不會報告錯誤,但不會打印任何內容。
下面是使用而代碼:
#include <stdio.h>
/* count characters and input using while */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
下面是使用爲代碼:
#include <stdio.h>
/* count characters and input using for */
main()
{
long nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%ld\n", nc);
}
編譯和運行。
當我輸入input並按回車時,會打印一個空白換行符。當我在沒有輸入任何內容的情況下回車時,再次打印空白換行符。我認爲它至少應該打印爲零。
換行符不是EOF。 – GManNickG 2010-07-21 21:46:55
我知道換行符是什麼,我知道EOF是什麼(在我的機器上EOF = -1)。我曾經說過,當有什麼東西輸入到程序中時,只會出現一個換行符,程序不會像我想要的那樣打印字符數。 – MW2000 2010-07-21 21:49:47
我不知道我跟着你。如果你沒有按Ctrl + D或Ctrl + Z,你還沒有完成執行你的程序。 – GManNickG 2010-07-21 21:52:54