c语言中a=b--<=a||a b!=c怎么算

c语言中a=b--<=a||a b!=c怎么算a=1,b=2,c=3,求计算过程以及计算后ab的值

a=b--运算之后,a为2,b为1,(a=b--)依照左值方式值为1,a=b--<=a为true,a+b为3,a+b!=c为false,所以结果为true

答案a = 1, b = 1;
因为a = b-- <= a 为真,a = b-- 结果为1,而b值也为1了,从左往右,再a+b != c 结果也为真,因为,a = 1, b = 1, a + b = 2, c = 3, 所以 a+b != c为真

先找逻辑运算符“||”
左边:(a=b--) <= a
计算b--的值,b--的值为2(得到这个值也就让b的值变成了1),赋值给a后a的值为2,(a=b--)的值也就是a的值为2,2<=2成立,所以左边为真
右边:(a+b)!=c,a+b的值为3,c的值为3,所以右边为假

真||假的结果为真
b--使b的值变成了1
a=b--的赋值使a的值变成了2
c仍未3

这种题还需要注意“短路”原则。

a=b--<=a||a+b!=c 应该为a=((b--<=a)||(a+b!=c) ) 结果为a = 1, b = 1,纠结了好长时间。

嗯,应该是按你所说的这样。实际运行一下才知道结果,是我说错了。