C语言中 x+=y/2是什么意思啊
到底是x=x+(y/2) 还是x=(x+y)/2啊.... 在网上半天都搜不到结果= =
x+=y/2 就相当于 x=x+(y/2)
+=是c中提供的一个自变运算符,其左右毁拦两边的数据分别叫左操作数和右操作数,右操作数可以是表达式唤樱,也可以是一个常量,不需要加括号,系统会自动按优先级进行先后运算。如:
x += a+b*c 就相当于 x=x+(a+b*c)
相类似的运算符还有很多,如:和余丛
-= *= /= %= >>= <<= 等
x+=y/2就相当于楼主所说的 x=x+y/2 x*= x-= x/= 都是一样的
你去看看符号的优先级 x+=y/2 ==> x = x +y/2
运算符都是有优先级的。。。正确的算法就是你的第一种。。。