标准数据类型之间会进行 隐式类型的安全转换

转换规则如下:

char→int→unsigned int →long→unsigned long→float→double

↓            

short→int

1 #include<iostream>
2 #include<string>
3 using namespace std;
4 int main(){
5 unsigned int ui = 1000;
6 int i = -2000;
7 cout << "ui+i=" << ui+i << endl;//ui+i=4294966296
8
9 short a = 'a';
10 cout << "a=" << a << endl;//97 将short类型隐式转换成int
11
12 char b = 'b';
13 cout << "b=" << b << endl;//b
14
15 cout << "a+b=" << a+b << endl;//195
16 return 0;
17 }

编译器在第⑦行对 i 进行了隐式类型转换

解决办法:

在进行计算的时候确保操作数的数据类型是一致的

最新文章

  1. C算法编程题(五)“E”的变换
  2. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库
  3. jquery.autocomplete自动补齐和自定义格式
  4. 如何安装最新的 XFCE 桌面?
  5. m=m++,结果让你大吃一惊。
  6. yii::app(); 怎么得到module、controller、action的名字
  7. 最原始的COM组件调用过程(不使用注册表信息)
  8. [实变函数]3.2 可测集 (measurable set)
  9. Gradle Goodness: Skip Building Project Dependencies
  10. ZooKeeper(3.4.5) - 使用 Curator(2.7.0) 监听事件
  11. TCP/IP三次握手
  12. [BZOJ 3888] [Usaco2015 Jan] Stampede 【线段树】
  13. (转)强大的JQuery表单验证插件 FormValidator使用介绍
  14. 通过项目逐步深入了解Mybatis&lt;三&gt;
  15. Hibernate工作原理及为什么要用?(转http://www.cnblogs.com/javaNewegg/archive/2011/08/28/2156521.html)
  16. Delphi组件开发-在窗体标题栏添加按钮(使用MakeObjectInstance(NewWndProc),并处理好多消息)
  17. 201521123092《java程序设计》第十周学习总结
  18. DevOps之一 Gitlab的安装与配置
  19. php数组实现根据某个键值将相同键值合并生成新二维数组的方法
  20. kafka与zookeeper

热门文章

  1. redis主从同步及手动处理故障
  2. oracle关于rownum的使用【oracle】
  3. Hyperledger Fabric——balance transfer(二)注册用户
  4. BZOJ1040 基环森林 找环+基础树形DP
  5. Linux 下批量杀死进程
  6. MongoDB学习(一) 安装与基本使用
  7. ES6-面向对象即类
  8. Rocket - tilelink - BankBinder
  9. 实现 (5).add(3).minus(2),使其输出结果为:6
  10. MyBatis(三)动态SQL与缓存