我有使用getchar()和文件重定向比較問題。比較getchar與一個字符返回一個警告,並給我錯誤的代碼
我有一個類似這樣的代碼:
char result = getchar(); // getchar returns the next char in the file
int linecount = 0;
if (result == "\n") {
linecount++;
}
但在編譯時,我得到一個警告。它說,我不能比較一個int與指針,但從我的理解,結果是一個字符,所以是「\ n」,所以我很困惑。我也可以使用printf(「%c」,result),它工作正常,暗示結果是一個char。有人知道我爲什麼會得到這個錯誤嗎?謝謝!另外,運行代碼,linecount將始終返回0即使我用作輸入文件中的第一個字符是換行符
'「\ n」' - >''\ n''。期。 –
呵呵,還有'char result' - >'int result' –
確實'getchar'返回'int',你分配給'char',然後和'char *'比較。 –