C语言中 x*=i=j 是什么意思?

如题所述

从右至左赋值
首先 i=j
其次 x = x*i
这个问题最主要的问题在于它的多赋值情况
一定要分清楚优先级
一个完整清晰的思路 才能保证程序运行的稳定
如果你记不住它们的优先级 完全可以用小括号来区分
这样,不论谁的优先级高低 都是从括号开始运算的
就拿你的这个例子做个比喻 倘若就是记不清楚优先级则可以:
x *=(i=j)
虽然这个括号加不加,运算的结果都是一样的,但是这样更容易你阅读程序
不论是后期的调试,还是他人的阅读,都可以一目了然
这又涉及到了一个编程习惯问题了
养成一个良好的编程习惯,对你的工作学习都会有很大的帮助的
好了,又扯远了,呵呵~
希望能帮助你点什么...
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-07
x*=i=j;
就是
i=j;
x*=j;
而x*=j;就是x=x*j;
这就是运算过程
类似*=的还有 +=,-=,
i+=j;和 i=i+j;一样。

多个等号=时,从右边开始算。本回答被提问者和网友采纳
第2个回答  2007-04-07
赋值优先级大于运算级也就是先把j赋值给i然后再做x*=i运算
x*=i=j等于x*=(i=j)

int x=2,i,j=3;
那么 x*=(i=j)
j赋值给i也就是i=3
再进行x*=i运算x=x*i也就是x=2*3最后x=6
望君好运
第3个回答  2007-04-07
先把j的值给i,然后进行x*=i的运算,它相当于x=x*i,就是先把x和i向乘,再把得到的结果赋值给x
第4个回答  2007-04-07
这个问题很好,要注意结合性和运算符号,前面的英雄说的很对,就是那样的。C里面的结合性是很重要的,关系到整个程序的成败!!!

相关了解……

你可能感兴趣的内容

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