#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 ))