C关于自增运算符X++有不解

发布时间:2024-05-21 22:56 发布:上海旅游网

问题描述:

题目是using system
manespace consoleapplicaionl
class classl
statii void main(string[]args)
int x=2
int y;
int z;
y=++x
console writeline(“x={0} y={1}”,x,y)
z=x++
console writeline(“x={0} Z={1}”,x,Z)


代码运行结果是X=3 Y=3
X=4 Z=3
主要是第二个搞不明白,书上说Z=X++,他是先将X的值赋给Z,所以Z等于3,然后再将X的值加1 所以最后X是值为 4 。
不是X为2吗?怎么先赋给Z就会变成3了?这不还没++来吗?

问题解答:

因为你是在同一个函数里面,,,

y=++x
console writeline(“x={0} y={1}”,x,y) 这个地方x的值已经是3了,不是2了,,,后面z的计算 相当与初始化x=3再进行计算了

int x=2
int y;
int z;
y=++x //这时X先加1 x=3 然后再赋值给y y=3
console writeline(“x={0} y={1}”,x,y)//x=3 y=3
z=x++ //这时x先给Z赋值.z=3 然后再自加1 x=4
console writeline(“x={0} Z={1}”,x,Z) //x=4 z=3

老大前面不是y=++x ;
这个时候x已经变成3了阿

热点新闻