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

学习 时间:2026-04-07 22:42:16 阅读:2950
int x=5,y=3;则x*=y-1后x的值是多少?他们都说先算y-1.可是我就是不明白,y-1并没有被小括号包围啊 像(y-1),按照运算顺序,怎么会是先算他呢?不是先算乘法吗?

最佳回答

酷炫的枫叶

顺心的巨人

2026-04-07 22:42:16

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

最新回答共有2条回答

  • 勤恳的冥王星
    回复
    2026-04-07 22:42:16

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

上一篇 英文文学please compare the portrait of a lady with f

下一篇 (1)他打了一个寒颤(),浑身都颤()抖了起来 (2)这里是出关的要塞(),却被堵塞()了 括号里填读音