我編譯我的代碼,然後運行:$ ./a.exe < input.txt 由於某些原因,它不會讀取第一個字符(t從第一行中的測試中缺失) 並且還有一個奇怪的字符在最後。我如何對付這兩個錯誤? 感謝重定向標準輸入
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char c = getchar();
while (c != EOF){
printf("%c ",c);
c = getchar();
}
return (0);
}
樣品執行:
$ ./a.exe < input.txt
e s t l i n e o n e
t e s t l i n e t w o
f i n a l l i n e ▒
2all回答人:請停止在您的代碼段中使用「char c」。所有與char相關的函數都會返回整數,而不是字符,EOF也是如此。 int c - 正確,char c - 錯誤。 – user3125367 2014-10-01 02:52:30