已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为_________
时间: 2023-12-27 09:04:40 浏览: 169
表达式的值为 11。
首先,a[0]+=a[1],相当于 a[0]=a[0]+a[1],即 a[0]=2+4=6。此时,a数组变为{6,4,6,8}。
然后,++a[2],相当于先将a[2]加1,再取其值,即 a[2]=a[2]+1=7。此时,a数组变为{6,4,7,8}。
最后,将6+7=13和++a[2]的值7相加,得到表达式的值为11。
相关问题
已知:int a=40, b=2; 求表达式的值:(a&0377)|(b&0xff)<<8
根据运算符优先级,先进行位运算符 & 运算,再进行位运算符 | 和左移运算符 << 运算。其中,& 用于取 a 和 b 的低 8 位(即 a & 0377 和 b & 0xff),| 用于将两个值合并为一个值,<< 8 用于将 b 的低 8 位移动到高 8 位。
因此,表达式的值为 40 & 0377 | (2 & 0xff) << 8 = 40 | 512 = 552。
已知:int a=3,b=5; 求下列表达式的值: (1)(a+b)%b (2)b>a (3)-b>a (4)a&b (5) ++a-b++ 答案:(1)3 (2)0 (3) 536870911 (4)1 (5)-1
好的,让我来解释一下这些表达式的值:
(1) (a+b)%b = (3+5)%5 = 3,因为 (a+b) 除以 b 的余数为 3。
(2) b>a 为 true,因为 5 大于 3。
(3) -b>a 为 false,因为 -5 不大于 3。
(4) a&b = 1,因为 a 和 b 的二进制分别为 011 和 101,按位与运算后为 001,即 1。
(5) ++a-b++ = 4-5 = -1,因为 ++a 先将 a 加 1 后返回值为 4,而 b++ 先返回原值 5 后再将 b 加 1。
阅读全文