我有使用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 *'比较。 –