int a=0,b=0,c=0; if(++a>0||++b>0) ++c;

则a,b,c等于多少求详细解释... 则a,b,c等于多少
求详细解释
展开
 我来答
泡沫书铺
推荐于2018-04-13 · TA获得超过266个赞
知道答主
回答量:19
采纳率:100%
帮助的人:12.5万
展开全部
a=1,b=0,c=1.
程序是从上往下依次执行的。
首先a=0,b=0,c=0。这个知道吧
然后就是执行if语句
++a>0:++a,++在前,就是先a自加,再用a的值。所以++a>0等价于:a=a+1,a>0;
同理,++b>0等价于:b=b+1,b>0;
由此我们可以看出:a>0为1(a=1,1>0当然是真命题,在C中,为真,它的值就为1),||是或者的意思(对应的&是且的意思),有一个为真,就为真命题。++a>0为真,所以不用看后面的++b>0了。 if(++a>0||++b>0)就可以看成if(1),if的执行条件是:括号中的值为真就执行,为假就不执行,所以,++c;执行。所以c=1。
那么执行if(++a>0||++b>0) ++c;后,a=1,b=0, c=1。所以结果是a=1,b=0, c=1.

明白了吗?望采纳~
来自:求助得到的回答
peakli78
2012-12-16 · TA获得超过134个赞
知道答主
回答量:90
采纳率:0%
帮助的人:94.3万
展开全部
a: 1
b: 0
c: 1

if语句首先对 ++a>0进行判断,a先+1, 再判断,结果大于0,if测试条件成立,不再对++b>0进行测试,b值不变。然后c+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风筝逆风飞翔7120
2012-12-16 · TA获得超过293个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:99.2万
展开全部
a=1,b=0 c=1
因为a先自加后1>0,所以不执行++b>0语句,所以b还是0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
90后李洋
2012-12-16
知道答主
回答量:33
采纳率:0%
帮助的人:13.4万
展开全部
a=1,b=0,c=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式