#include<stdio.h>
#include<stdlib.h>
int main()
{
unsigned int a = 6;
int b = -20;
(a + b) > 6 ? printf("hehe\n") : printf("hoho\n");
system("pause");
}
看教程的一个思考问题,这道题的输出结果应该是
hehe
具体过程值我们可以添加一个变量来检查:
unsigned int c;
int d;
发现"a+b"的无符号值是4294967282,有符号是-14,而默认的a+b的结果为无符号的值,所以输出的是成立的结果输出