算术类型隐式转换
2015-06-15 10:57
267 查看
#include <stdio.h>
#include <math.h>
#include <string.h>
int main(int argc, char **argv)
{
if (-1 > (unsigned int)1)
printf("转换成unsigned int\n");
else
printf("转换成int\n");
if (-1 > (unsigned char)1)
printf("转换成unsigned int\n");
else
printf("转换成int\n");
}
打印结果
转换成unsigned int
转换成int
结论:char 、short 不论有没有unsigned 都转换成int
unsigned int 存在则都转成unsigned int
所以尽量不要使用无符号类型,减少这么隐式转换可能带来的不确定性
#include <math.h>
#include <string.h>
int main(int argc, char **argv)
{
if (-1 > (unsigned int)1)
printf("转换成unsigned int\n");
else
printf("转换成int\n");
if (-1 > (unsigned char)1)
printf("转换成unsigned int\n");
else
printf("转换成int\n");
}
打印结果
转换成unsigned int
转换成int
结论:char 、short 不论有没有unsigned 都转换成int
unsigned int 存在则都转成unsigned int
所以尽量不要使用无符号类型,减少这么隐式转换可能带来的不确定性
相关文章推荐
- linux 命令——9 touch (转)
- 《浪潮之巅》读书笔记3
- 如果拿破仑年轻时没有经历过窘迫而绝望的生活
- 不再用ifconfig:iproute2套件学习
- 在xcode5中修改整个项目名
- 最下生成树以及并查集学习
- Android 无需通过USB数据线 通过wifi 进行Debug 调试
- mysql优化小技巧
- 实时分析设计
- TCP连接探测中的Keepalive和心跳包
- do {...} while (0) 在宏定义中的作用
- UCGUI移植初级解析
- PermGen space(eclipse)
- 2.8带平滑线的散点图
- Nginx中如何限制某个IP同一时间段的访问次数
- 十几套IT培训视频教程免费下载,为你节省几万元培训费用
- 不用注消用户就可以以其它身份运行程序
- js事件添加详解
- osg for android 编译(Windows)完整图文教程
- C++10.5 multimap和multiset类型---equal_range、lower_bound 和upper_bound函数