现在的位置: 首页 > 综合 > 正文

getchar()的返回值类型

2013年08月30日 ⁄ 综合 ⁄ 共 209字 ⁄ 字号 评论关闭

13.1 这样的代码有什么问题?

《误区》中提到的:

 char c;
while((c = getchar()) != EOF) ...

1.保存 getchar 的返回值的变量必须是 int 型。getchar() 可能返回任何字符值, 包括 EOF。

2.如果把 getchar 的返回值截断为 char 型, 则正常的字符可能会被错误的解释为 EOF, 或者 EOF 可能会被修改 (尤其是 char 型为无符号的时候), 从而永不出现。  

抱歉!评论已关闭.