所以我正在读K&R书,我有一个关于这段代码的问题:
int c;
c = getchar();为什么他们使用整型变量?getchar()返回的值不是字符吗?所以字符会更合适吗?请给我开导一下。
发布于 2011-10-12 00:28:40
getchar() 需要能够指示何时到达输入的末尾。它通过返回EOF来做到这一点,它故意设置在有效的char范围之外,这样它就不会与输入中出现的字符发生冲突。
发布于 2011-10-12 00:29:31
getchar函数返回一个int,因为它需要一种在尝试读取文件时发出错误信号的方法。由于char类型只需要包含所有可能的字符值,因此需要更大的类型才能返回EOF值。
发布于 2011-10-12 00:28:47
这是因为当getchar()返回EOF时,您可以将EOF与真正有效的char区分开来。
https://stackoverflow.com/questions/7729339
复制相似问题