ANSI C中类型转换
来源:互联网 发布:mac装双系统好吗 编辑:程序博客网 时间:2024/04/29 09:57
ANSI C中虽然对于类型转换定义的比较友好,但有时也会发生一些意想不到的错误,特别是在unsigned与signed之间的自动转换
如:
#include <iostream>using namespace std;int array[] = {23,34,12,17,204,99,16};#define TOTAL_ELEMENT (sizeof(array)/sizeof(array[0]))int main(){ cout<<TOTAL_ELEMENT; int d = -1; int x; if(d < TOTAL_ELEMENT - 2){ cout<<"in"<<endl; x = array[d+1]; } system("pause"); return 0;}
其中由于sizeof函数返回的为unsigned int 类型,而根据ANSI C中的规范,在if中的比较语句中会将d进行转换,使其类型转为unsigned类型,进而使得该条件判断为false
附上ANSI C中类型转换规则:
0 0
- ANSI C中类型转换
- ANSI C 前值类型转换bug
- ANSI C的类型限定词
- C语言中类型转换
- 类型转换(c中)
- C/C++中类型转换
- C语言中类型转换
- C++ UNICODE ANSI 类型转换 常用函数
- ANSI C中scanf()的转换说明符和scanf()的转换修饰符
- 程序猿之---C语言细节16(看了绝对值,编译类型ANSI C和K&R C类型判断,c编译器类型转换bug的细节)
- C语言中类型转换问题?
- C语言中强制类型转换总结
- 【C#】中Decimal类型转换的问题
- C语言运算中类型转换
- C 语言中强制类型转换
- C语言中数值类型转换
- C/C++中诸多类型转换函数
- C语言中类型转换问题
- poj 2785 折半枚举(与poj2549的区别)
- hdu1181
- 算法:两个有序链表的合并
- java socket和流的关系
- 算法8:巧妙的邻接表(数组实现)
- ANSI C中类型转换
- Linux性能分析工具
- django使用使用date_hierarchy出错(Mysql)
- ACMjava杨辉三角形与二项式定理递推实现与组合实现
- 英文字母表的哈夫曼树编码
- SpriteSheet(精灵表单)的作用
- BMP文件旋转
- NYOJ--树的判定
- 关于Struts在Spring中使用autowired 自动注入的问题