答案是3,看不太懂,||是或者的意思,a++为什么就真了?b为什么不需要改变了?
1.首先是优先级的问题,++的优先级是大于||的,是从左到右,所以先进行a++,由于||是一真必真,在执行了a++后,a大于0是真的,所以右边整个式子为真,即忽略了对b的操作,直接使用a的值进行赋值。
c=a++||b++;||的短路运算, 例如:表达式1 || 表达式2 || 表达式3...|| 表达式n,如果表达式1的运算结果为true,则整个表达式的结果为true,同时不会再对后面的表达式2、表达式3到表达式n进行运算判断。如果表达式1的运算结果为false,则根据表达式2的运算结果继续判断。
觉得还可以,还请 采纳:
"a++ || b++" 这个语句的执行顺序是先执行 a++, 再执行 b++,这是因为 "||" 的优先级很低,需要先处理 "++",a 的值被加 1 后变成了 3,再执行 b++, b 的值加 1 后变成了 4。
但是 c 的值是由 a++ 的结果决定的,因为 a++ 的结果为真 (非0),所以 c 的值为 1,而不是 b 的值。因此 b 的值仍然是 3,没有发生任何改变。