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