关于自增自减的问题
设有以下语句:int x = 2,y = 2,z = 0,a;
a = ++x || ++ y && z++;
printf("%d,%d,%d\n",x,y,z);
执行后的输出结果为:
a: 2,2,0
b:3,3,1
c:3,2,0
d:3,2,1
答案为C
请教下为什么z的值不发生改变,而且程序执行结束后a的值为1,为什么?
而且(a = ++x || ++ y) && z++加了括号以后的值又不一样,这个知道,可是没括号的实在是不懂,求解释!!