无符号数与有符号数相加的结果

来源:互联网 发布:软件调试 编辑:程序博客网 时间:2024/04/30 10:00
 char foo(void)
 {
 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 的字符。

0 0
原创粉丝点击