C++中的运算:a += a *= a /= a - 6


#include<iostream>
using namespace std;
int main()
{
	int a = 8;
	a += a *= a /= a - 6;
	cout << "Result :" << a << endl;
	return 1;
}

注意赋值运算符是从右往左结合的,所以这个表达式是这样运算的:

a += ( a *= (a /= (a - 6)))

意思就是首先将a / (a - 6) 的值赋值给a

再将a 现在的平方的值赋给a

再将最新a 的值乘2赋值a

不过要注意那个除法对整数和浮点数类型时不一样

比如int a= 10,则a - 6 = 4,于是a /= (a-6),a被赋值10/4 = 2 ,并且表达式的值也是a的值2

然后a *= (a /= (a - 6)),因为a已经被修改为2,于是a 被2 * 2 = 4赋值,并且表达式的值也是a的值4

最后a + = ( a *= (a /= (a - 6))),此时a已经被修改为4,于是a 被4 + 4 = 8赋值

如果a是浮点数,则除法结果就是正常意义上的除法了,后面的过程一致


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM