A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yanggangcl 中级黑马   /  2015-11-3 18:38  /  494 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #include <stdio.h>
  2. int main(){
  3.    char c;
  4.    while ((c = getchar()) != EOF)
  5.        putchar(c);
  6.    return 0;
  7. }
复制代码

乍一看上面代码,貌似是没什么问题,但是...
getchar() 在Xcode中的定义为:int getchar(void);  描述为:get next character or word from input stream
也就是它返回的类型是int,所以当接收返回值的变量c 是char型时,则意味着c可能无法容纳下所有可能的字符,特别是可能无法容下EOF。
所以接收getchar返回值的变量要至少为int型的。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马