在C语言中a-=b+c应该是a=a-(b+c)
-=的意思:
1、 -=是C语言中的一个复合运算符。
2、 -=为双目运算, 形式为:A-=B表示含义为:A=A-B
C语言中复合赋值运算符 :
1、<<= 的意思是左移等。a<<=b其实就是a=a< 2、 >>= 的意思是右移等。a>>=b其实就是a=a>>b. 3、&= 的意思是与等。a&=b其实就是a=a&b.
a=a-(b+c)
原因:运算符“+”的优先级大于“-=”,编译器会先进行加法运算。
a=a-(b+c)
第一种 a- =c 即 a=a-c; 而c编译系统会先运算b+a,所以因该是第一种;#include"stdio.h"void main(){ double a,b,c; a=2;b=c=0.5;printf("%f",a-=b+c);getch();}如果运行结果是1.0~则是第一种是2.0~则是第二种。
不同编译器可能答案不同,在你的编译器上试验一下就知道了。