x=3,y=2,a=1,分析如下:
首先执行x=x+1,那么x=3了,由于是逻辑或运算,一真必真,那么(y=y
+1)系统就不会执行它了直接忽略,为什么呢?因为式子的逻辑值已经铁定为真了,没必要再去执行了嘛。整个式子(x=x
+1)‖(y=y
+1)的逻辑值是真,用1来表示真,所以a的值为1,所以最后的结果是:
x=3,y=2,a=1。
这里涉及到的运算符优先级为:加号为4级,取模(求余)和乘除为3级,(int)是强制类型转换,为2级,而括号为最高的1级,因此该式首先计算x+y=8.5,然后取整,为8,剩下的取模和乘除运算依次从左到右,1%2=1,然后乘以8,等于8,接下来8%2=0,最后除以4,等于0,然后再加上x,因此最后的结果是x,即3.6。