C 标准库函数getchar的陷阱
来源:互联网 发布:php和mysql连接 编辑:程序博客网 时间:2024/04/19 13:30
函数名字与返回值类型在语义上不可冲突。
违反这条规则的典型代表是C 标准库函数getchar。
例如:
char c;
c = getchar();
if (c == EOF)
?
按照 getchar 名字的意思,将变量c 声明为char 类型是很自然的事情。但不幸的是
getchar 的确不是char 类型,而是int 类型,其原型如下:
int getchar(void);
由于c 是char 类型,取值范围是[-128,127],如果宏EOF 的值在char 的取值范围
之外,那么if 语句将总是失败,这种“危险”人们一般哪里料得到!导致本例错误的责
任并不在用户,是函数getchar 误导了使用者。
- C 标准库函数getchar的陷阱
- getchar()的陷阱
- [C陷阱]getchar的返回值是int而不是char
- C标准库函数abs的一个错误
- C标准库函数abs的一个错误
- 操纵 C 风格字符串的标准库函数
- C语言中常用的标准库函数
- C 中标准库函数 qsort 的用法
- ISO的C语言标准库函数分类
- C语言标准库函数getenv的实现
- 关于c标准库函数gets的危害
- 【C陷阱和缺陷】库函数
- 【C陷阱和缺陷】库函数
- C标准库函数浅析
- C标准库函数(a)
- .调用标准C库函数
- c标准库函数
- C标准库函数浅析
- j2me-MIDP的总体体系结构
- 怎么转几份啊?
- matlab绘制立体图
- 感觉
- initial catalog与database的区别是什么
- C 标准库函数getchar的陷阱
- vb.net2005 绘图编辑器
- c++ -if语句比较注意
- C++程序标识符注意
- hibernate Set与Map的排序
- C++类编码注意
- 自然辩证法课后答案
- 什么是测试需求
- 新手乍到