c语言问题:输出为什么是> 6。

#include<iostream>#include<cstdlib>usingnamespacestd;intfoo(){unsignedinta=6;intb=-20... #include<iostream>
#include <cstdlib>
using namespace std;
int foo()
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? printf("> 6") : printf ("<= 6");
system("PAUSE");
return 0;
}
int main()
{foo();
return 0;}
展开
 我来答
s58417632
2012-05-14 · TA获得超过299个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:162万
展开全部
在系统中,负数与正数之间的差距是他们的最高位是1或0,因此负数其实是一个非常大的正数。所以他们相加大于6;
辣比萨
2012-05-14 · TA获得超过1559个赞
知道小有建树答主
回答量:964
采纳率:0%
帮助的人:519万
展开全部
有符号数和无符号数运算时,有符号数会被强转为无符号数。
此时b = 2^32 - 20
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-14
展开全部
查下不同数据类型之间运算时各自的转换规则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式