int x=5,y=3;则x*=y-1后x的值是多少?他们都说先算y-1.

问题描述:

int x=5,y=3;则x*=y-1后x的值是多少?他们都说先算y-1.
可是我就是不明白,y-1并没有被小括号包围啊 像(y-1),按照运算顺序,怎么会是先算他呢?不是先算乘法吗?
1个回答 分类:综合 2014-12-01

问题解答:

我来补答
这个不是这样的,这个要从运算符的优先级角度去理解,你可以查一下运算符优先级表,加减运算符要比复合运算符优先级高很多,所以出现你上面列的这种情况,程序会先算y-1而不是按照你想的那样运算.
再问: “*=”已经属于复合运算符的范畴了?不是单纯的乘除运算符,所以,加减的运算符优先于它。是这个意思吗?
再答: 是的,可以这样理解,“*=”就是一个复合运算符
 
 
展开全文阅读
剩余:2000
上一页:函数急