算术运算时,操作数类型不匹配产生的陷阱
2006-05-16 21:47
204 查看
环境:SUN 5.9 WS4.2
unsigned int i=1;
if(i < -1)
printf("1 < -1/n");
else
printf("1 > -1/n");
结果:
# 1 < -1
unsigned int i=1;
if((int)i < -1)
printf("1 < -1/n");
else
printf("1 > -1/n");
结果:
# 1 > -1
(-1 < (unsigned)1)?printf("1 > -1/n"):printf("1 < -1/n");
结果:
# 1 < -1
unsigned int i=1;
if(i < -1)
printf("1 < -1/n");
else
printf("1 > -1/n");
结果:
# 1 < -1
unsigned int i=1;
if((int)i < -1)
printf("1 < -1/n");
else
printf("1 > -1/n");
结果:
# 1 > -1
(-1 < (unsigned)1)?printf("1 > -1/n"):printf("1 < -1/n");
结果:
# 1 < -1
相关文章推荐
- C语言中算术运算的隐式类型转换规则
- C++中有符号类型(int)和无符号类型(unsigned int)混合算术运算的类型转换会出现的问题
- (转载)C语言中算术运算的隐式类型转换规则
- 读取与变量类型不匹配的数据产生的问题
- 第02周实验: 变量、算术运算和数据类型
- python -- numpy 基本数据类型,算术运算,组合,分割 函数
- 【课堂】【算术运算中数据类型的转换】
- 错误 1 error C2679: 二进制"=": 没有找到接受"LPCTSTR"类型的右操作数的运算
- java个人学习笔记02(注释+数据类型+算术逻辑运算)
- C语言中位运算同样要求操作数类型一致
- c语言算术运算表达式与赋值运算表达式的类型转换规则
- C++中有符号类型(int)和无符号类型(unsigned int)混合算术运算的类型转换会出现的问题
- C编译器剖析_6.3.2 汇编代码生成_为算术运算产生汇编代码
- 【C语言】测试不同类型的指针的算术运算
- shell脚本之变量、变量类型、条件测试、算术运算、及特殊变量
- 二进制“<<”: 没有找到接受“const std::basic_string<char,std::char_traits<char>,std::allocator<char>>”类型的右操作数的运算
- c++算术运算和位运算中类型转换和类型提升规则和方法
- 6.1bash编程入门值变量类型、for循环和算术运算
- [PowerShell入门]变量、赋值、算术运算、类型转换、数组、注释
- java基础之一 类型、算术运算和控制语句