unsigned 隐式转换

来源:互联网 发布:推荐c 语言在线编译 编辑:程序博客网 时间:2024/05/21 15:06

#include <stdio.h>#include <iostream>using namespace std;void main(){unsigned int a = 2;int b = -3;int c = a + b;cout << (a + b) << endl;printf("%d\n",c);printf("...\n");}


结果:

4294967295 

-1

...

默认 int 隐式转换成unsigned 再与unsingned 进行加减 ,但是结果等于 把两个数做有符号加减 再转无符号

                        unsigned (int) + unsigned               =          unsigned ( int + int(unsigned ))

0 0