#include <stdio.h> int main(void) { unsigned int a = 6; int b = -20; if(a + b > 0) printf("So Strange!/n");//隐式转换成unsigned int printf("%d/n", a + b); //强制转换成int printf("%u/n", a + b); //强制转换成unsigned int return 0; } 会输出什么??? So Strange! 就在于int隐式转换为了unsigned int,成为了正数了。