问答详情
源自:2-21 C#的赋值运算符

C#的赋值运算符

与其他运算符从左向右计算不同,赋值运算符从右向左计算。教材的最后一句话没太明白  不是从左到右吗  先计算在赋值,钻牛角尖了

提问者:慕斯2161958 2018-01-22 21:41

个回答

  • qq_慕运维0487080
    2018-12-19 19:37:52

    嗯,就是这样

    所以赋值运算符必须从右向左计算

    运算符计算

    X=Y=2(X和Y的值都是2)

    X/=0.5(X=X/0.5,X=4)

    Y%=2(Y=Y%2,Y=0)

    输出X-Y=4(4-0=4)

    还没明白就扔一边别管了,记死赋值运算符从右向左计算


  • qq_慕运维0487080
    2018-12-19 19:22:14

    X=Y=2的意思是2这个值先赋给了Y,然后Y又赋值给了X,也就是说Y的栈里面存储了2这个值,然后X的栈里面存储了Y这个值(我们已经知道了Y的值是2,那么X的值是Y也就是2)

    X+=2你要是先计算在赋值从左到右和计算运算法1+1=2一样的话就是X+=2,也就是X+0=2,就等于X=2,

    题是

    X=Y=2(X和Y的值都是2)

     x /= 0.5(X/0=0.5,式子不成立退出报错)

     y %= 2;(上面已经报错退出程序这个式子也就没意义)

    再不懂我就没办法了


  • 慕婉清539966
    2018-09-26 16:43:37

    我的理解是:

    x=y=2表示2赋值给以,然后y赋值给x。

    x+=2中+是加运算符,=是赋值符,依旧是所以从右向左计算。

  • 慕瓜0425222
    2018-08-20 16:25:37

    赋值运算符从右向左计算,应该说的是这行代码吧:

    x = y = 2;

    先给y赋值2,然后给x复制y。

  • qq_阳光科技_0
    2018-01-22 21:45:46

    赋值运算符是从右向左计算的