加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于C中的getchar函数

发布时间:2020-12-16 10:29:38 所属栏目:百科 来源:网络整理
导读:我正在读K R C语言书,代码片段如下: char c;while ((c = getchar()) != EOF) ... 有人提到,对于EOF(我认为它是-1)是来自getchar的“带外”返回值,与所有可能的不同 getchar可以返回的值. 我的问题如下: 我用char运行我的程序,它运行成功,我的 理解是签名ch
我正在读K& R C语言书,代码片段如下:

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

有人提到,对于EOF(我认为它是-1)是来自getchar的“带外”返回值,与所有可能的不同
getchar可以返回的值.

我的问题如下:

>我用char运行我的程序,它运行成功,我的
理解是签名char可以存储-127到127所以它可以检查
为-1它是如何“带外”的?
>任何人都可以提供一个简单的例子,如果我们使用char c而不是int c,上面的程序片段将会失败吗?

谢谢!

解决方法

你有一个小错误,getchar返回一个int,而不是一个char:

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

ascii字符的有效值为0到127,EOF是其他(int)值.

如果你继续使用char,你可能会遇到麻烦(如I got into)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读