int x=5,y=3;则x*=y-1后x的值是多少?他们都说先算y-1.
可是我就是不明白,y-1并没有被小括号包围啊 像(y-1),按照运算顺序,怎么会是先算他呢?不是先算乘法吗?
人气:153 ℃ 时间:2020-06-05 08:34:34
解答
这个不是这样的,这个要从运算符的优先级角度去理解,你可以查一下运算符优先级表,加减运算符要比复合运算符优先级高很多,所以出现你上面列的这种情况,程序会先算y-1而不是按照你想的那样运算.“*=”已经属于复合运算符的范畴了?不是单纯的乘除运算符,所以,加减的运算符优先于它。是这个意思吗?是的,可以这样理解,“*=”就是一个复合运算符
推荐
- (float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5的值是多少
- x,y,z都是int型变量,且x=3,y=4,z=5,那么表达式x
- 执行以下语句后a的值为(),b的值为() int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);
- int x; x=3*4%-5/6,x的值为
- (float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5我算结果是3但是答案是3.5请问怎么算的,
- Nothing will change until she breaks this life,this life-size mirro求翻译
猜你喜欢