(一)
已知 x 的值为 2, y 的值为0
则 y=++x; 的意思是
先x=x+1; (此后x的值为3,y的值为0,)
后 y=x; (此后x的值为3,y的值为3)
(二)
已知 x 的值为 2, y 的值为0
则 y=x++; 的意思是
先 y=x; (此后x的值为2,y的值为2)
后 x=x+1; (此后x的值为3,y的值为2)
--x 与 x-- 也是一样的道理
010是八进制数,它的十进制数是8
x的值为8,所以输出 ++x 的值为9
首先,++是单目运算符,优先级是高于=的,所以是先执行++。
第二,x++返回值是(x+1),是表达式而非变量
第三,++x的返回值是x,是变量。
谢谢采纳。
输出结果是:
10,10,9,9
第一个:x--先用x,值是10
第二个:x的值还是10,这里的x自减要等整个输出语句完成后才会执行
第三个:--y先y自减1,然后再输出,结果是9
第四个:y现在的值已经是9了
10 10 9 10
x--,x,--y,y这四个参数对于printf来说是同时调用的,不存在先后关系
x-- 是先调用x,然后再做减法 就是10
x 的值就是10
--y 是先做减法 再调用 就是9
y 的值就是10