注册 登录
编程论坛 C# 论坛

关于C#算术运算符的问题,谢谢高手指点

RDHHB 发布于 2014-01-24 21:15, 890 次点击
            int x = 5;
            int y = ++x;
            int z = x++;
            Console.WriteLine("x={0},y={1},z={2}",x,y,z);
            Console.ReadKey();


这段代码,我输入后X的结果为什么是7,初始值是5,这下面又没有对其进行重新赋值啊,有点不明白,麻烦高手师傅帮忙指点一二。谢谢
8 回复
#2
TonyDeng2014-01-24 21:27
請復習課本中++算符的知識點!
#3
RDHHB2014-01-24 22:07
++X,先执行递增,后与表达式运算
X++先与表达式运算,后自我递增
有点不理解,晕
#4
TonyDeng2014-01-24 22:09
遞增、遞減,都改變自身的值。
#5
wyc1992882014-01-25 14:02
第一步:++x表示先给x+1,但是并不使用它,所以第二步y=5,但此时第二步结束后x变为6。第三步:x++表示先使用x的值,再让x+1,此时第三步z=6,然后x再+1,x=7。最后一步,输出x时自然等于7。
总的来说,是你的++x,x++改变的x的值,所以x变为7.

希望我的回答对你有用。
#6
wangnannan2014-01-26 11:02
++在前就是先加 先自身赋值然后运算表达式  后++是先运算表达式后赋值 这就和地球是圆的 男的有鸡巴女的没有一样 死规定记住就行了
#7
有容就大2014-01-26 23:13
这个算是老生常谈了吧 呵呵
#8
RDHHB2014-02-13 16:03
我学习到了,谢谢高手们。
#9
rat212014-07-04 01:24
我也是初学者,学C#半个月的样子吧!
int x=5;//此时x的赋值是5
int y=++x;//++x表示x先自加再赋值给y.所以此时x自加是6,y是6
int z=x++;//x++表示x先赋值,然后自己再自加。x此时是6赋值给y,y就是6。然后x自加,x本来是6,自加得7
1