关于C中的getchar函数

关于C中的getchar函数,第1张

概述我正在读K& R C语言书,代码片段如下: char c;while ((c = getchar()) != EOF) ... 有人提到,对于EOF(我认为它是-1)是来自getchar的“带外”返回值,与所有可能的不同 getchar可以返回的值. 我的问题如下: >我用char运行我的程序,它运行成功,我的 理解是签名char可以存储-127到127所以它可以检查 为-1它是如何“带外”的? 我正在读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)

总结

以上是内存溢出为你收集整理的关于C中的getchar函数全部内容,希望文章能够帮你解决关于C中的getchar函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1220611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存