c语言#include <stdio.h> main() { int x=010, y=10; printf("%d,%d尀n", ++x, y--); }

2024-12-01 01:27:24
推荐回答(4个)
回答(1):

(一)
已知 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

回答(2):

首先,++是单目运算符,优先级是高于=的,所以是先执行++。
第二,x++返回值是(x+1),是表达式而非变量
第三,++x的返回值是x,是变量。

谢谢采纳。

回答(3):

输出结果是:
10,10,9,9
第一个:x--先用x,值是10
第二个:x的值还是10,这里的x自减要等整个输出语句完成后才会执行
第三个:--y先y自减1,然后再输出,结果是9
第四个:y现在的值已经是9了

回答(4):

10 10 9 10
x--,x,--y,y这四个参数对于printf来说是同时调用的,不存在先后关系
x-- 是先调用x,然后再做减法 就是10
x 的值就是10
--y 是先做减法 再调用 就是9
y 的值就是10