
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函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)