getchar()
来源:互联网 发布:什么叫app端口 编辑:程序博客网 时间:2024/06/05 15:41
摘自《C语言深度剖析》
1、原型
int getchar(void);
备注:函数名与返回值类型在语义上不可冲突
违反这条规则的典型代表就是C语言标准库函数getchar。
错误: char c;
c = getchar();
if(EOF == c)
{
…
}
按照 getchar 名字的意思,应该将变量 c 定义为 char 类型。但是很不幸, getchar 函数的返回值却是 int 类型,其原型为:
int getchar(void);
由于 c 是 char 类型的,取值范围是[-128,127],如果宏 EOF 的值在 char 的取值范围之外,
EOF 的值将无法全部保存到 c 内,会发生截断,将 EOF 值的低 8 位保存到 c 里。这样 if 语句有可能总是失败。这种潜在的危险,如果不是犯过一次错,肯怕很难发现。
0 0
- getchar
- getchar
- getchar()
- getchar
- getchar
- getchar
- getchar()
- getchar()
- getchar
- getchar
- getchar()
- getchar()
- GETCHAR();
- getchar
- getchar()
- getchar()
- getchar
- getchar.c
- mysql表的字符集uft8转换成gbk测试
- Android的Drawable之BitmapDrawable
- 树的子结构[数据结构]
- 二叉树遍历
- 面试题大集合
- getchar()
- springmvc源码阅读笔记 --HandlerMapping
- strlen实现
- Java中静态(static)成员何时才会初始化
- 迭代器 用法小结
- Android UI优化之ViewStub标签的使用
- 白话空间统计二十一:密度分析(二)
- 关于Euler angles(欧拉角)的问题
- SharePoint轻量化应用之HR招聘系统之将模板发布到SharePoint表单库及后续测试!