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

2020-05-17 文化 55阅读
这个题目出得有意思,它想表达的是,=运算符的运算次序和表达式结果。
两个原则要记住:
1、=运算符是一个自右向左结合的双目运算符
2、=运算的结果是返回左运算目
所以就这个题,机器是这样想的:
把c赋给左边,那么左边是谁呢?左边不是b,是一个被括号包起来的=运算,好吧,那么先算括号里的东西。括号里是一个=运算,没什么可说的,把b赋给a。到现在为止,a=2,b=2,c=3,但是括号里的=运算结束后,返回左目,也就是返回a,那么现在对于c前面的=运算也清楚了,它的左目是刚刚返回的a,右边是c,所以把c赋给a,得到a=3,b=2,c=3,运算结束
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com