为什么这个程序输出结果b2=7啊,为什么不是b2=6啊,求懂C语言的帮忙解答一下,谢谢了!!!

如题所述

第1个回答  2016-09-26

因为你加了两次1啊

追问

我搞明白了~~ 谢谢你了

第2个回答  2016-09-26
a || (b = a + c) && c; 因为a=5为真,所以执行的是a&&c
a && (b = b + 1) || (c = b + 1);
因为a为真,b=b+1也为真,所以(c = b + 1)不执行。
综上有意义的执行就是两次b=b+1,
所以结果为5,7,4追问

你的意思是执行了上面的两次b+1吗?

追答

对啊,这不是很明显吗,
你不是都能看懂c仍为4。这个优先级你看明白?

追问

嗯~我懂了~谢谢你~

本回答被提问者采纳
相似回答