复合运算符+=注意事项

a+=b相当于a=a+b;

同理

a-=b相当于a=a-b;

a*=b相当于a=a*b;

a/=b相当于a=a/b;

a%=b相当于a=a%b;

那么

a*=b-c相当于什么呢?

有些同学觉得相当于a=a*b-c,其实是相当于a=a*(b-c)

例如下面这个代码,ans最终是等于-4的,而不是5

这一个细节一定要注意,不然当你写的代码很长时,由于这一个小错误导致了答案错误,可能调一天也很难调出来。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a=2, b=3, ans=4;
	ans*=a-b;
	cout << ans;
	return 0;	
} 

猜你喜欢

转载自blog.csdn.net/u013313909/article/details/127439022
今日推荐