c程序中,a=1b=2c=3经过(a=b)=c赋值,a=3b=2c=3,请问是为什么

如题所述

这个题目出得有意思,它想表达的是,=运算符的运算次序和表达式结果。
两个原则要记住:
1、=运算符是一个自右向左结合的双目运算符
2、=运算的结果是返回左运算目
所以就这个题,机器是这样想的:
把c赋给左边,那么左边是谁呢?左边不是b,是一个被括号包起来的=运算,好吧,那么先算括号里的东西。括号里是一个=运算,没什么可说的,把b赋给a。到现在为止,a=2,b=2,c=3,但是括号里的=运算结束后,返回左目,也就是返回a,那么现在对于c前面的=运算也清楚了,它的左目是刚刚返回的a,右边是c,所以把c赋给a,得到a=3,b=2,c=3,运算结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-13
a=1b=2c=3经过(a=b)=c赋值,
是a=b=2
然后是a=c=3
所以,最后的结果是:
a=3 b=3 c=3本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网