一个c问题
设x,y,t均为int型变量,执行语句:
x=y=3;
t=++x||++y;
完成后,y的值为
A)不确定
B)4
C)3
D)1
此题的答案是3.为什么呢
参考答案:x=y=3;
t=++x||++y;
第一句执行完后X,Y都等于3
第二句
t=++x||++y;
因为是或操作,即这句的意思是 x+=x+1 或者 y=y+1只要有一个执行成功即为真
由于++x执行返回真,所以不需再对后面的++y进行运算了,所以++y其实并没有执行,故y还是原来的3,而x变为4
如果把||换成 && 即与运算,意为&&两边执行都为真才会返回真,所以2边的表达式都会进行求值,这时x y就都等于4了