#include<stdio.h>
void foo(void)
{
unsigned int a = 6;
int b = -20;
if((a+b)>6) // 6 + -20 == -14 -14 会变成14
printf(">6\n"); // a+b>6
else
printf("<6\n");
printf("%u\n",(a+b)); //4294967282
}
int main(int argc,char*argv[])
{
foo();
return 0;
}
%u 打印的时候, 值域的范围: unsigned int 0-4294967295 值域会产生变化
总结: 一个有符号数 和 无符号数 相加,最后转成 无符号数