char foo(void)
{
unsigned int a =6;
int b = -20;
char c;
return (b+a >6)?(c=1):(c=0);
{
unsigned int a =6;
int b = -20;
char c;
return (b+a >6)?(c=1):(c=0);
}
b+a默认是一个无符号数,这里相加会溢出b+a = 65536 -14 > 0 返回 c = 0 ,即ASCII码为0 的字符。
}
b+a默认是一个无符号数,这里相加会溢出b+a = 65536 -14 > 0 返回 c = 0 ,即ASCII码为0 的字符。