展开全部
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.
明白了吗?望采纳~
程序是从上往下依次执行的。
首先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.
明白了吗?望采纳~
来自:求助得到的回答
展开全部
a: 1
b: 0
c: 1
if语句首先对 ++a>0进行判断,a先+1, 再判断,结果大于0,if测试条件成立,不再对++b>0进行测试,b值不变。然后c+1
b: 0
c: 1
if语句首先对 ++a>0进行判断,a先+1, 再判断,结果大于0,if测试条件成立,不再对++b>0进行测试,b值不变。然后c+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=1,b=0 c=1
因为a先自加后1>0,所以不执行++b>0语句,所以b还是0
因为a先自加后1>0,所以不执行++b>0语句,所以b还是0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询