若int a=5,k;执行表达式k=(-a++)后,k的值为?
时间: 2023-03-23 08:03:26 浏览: 169
根据运算符优先级,表达式 `++a` 的值为 `a` 自增 1 后的值,即 6。然后表达式 `k = (a++)` 的值为 `a` 自增前的值,即 5。因此,执行完该语句后,变量 `k` 的值为 5,变量 `a` 的值为 6。
相关问题
int a=128,b=256;表达式a=b--==255的值为
表达式a=b--==255的值为0。
解析:
根据C++的运算符优先级,后缀自减运算符(--)的优先级高于相等运算符(==)。因此,表达式b--会先执行自减操作,将b的值减1,然后再与255进行相等比较。
首先,b的初始值为256,执行自减操作后,b的值变为255。然后,将255与255进行相等比较,结果为真(即1)。
接着,将1与a进行相等比较。a的初始值为128,与1进行相等比较时,结果为假(即0)。
因此,表达式a=b--==255的值为0。
5、int i=3,j=4,t=1; 表达式ilkj的值是---__. 表达式iktkj的值是---
表达式 `ilkj` 的值是 `3 * 4 + 1 = 13`。
表达式 `iktkj` 的值是 `3 * t++ * ++j * t * j`,其中:
- `3` 是变量 `i` 的值。
- `t++` 的值是 `1`,然后 `t` 的值变成了 `2`。
- `++j` 的值是 `5`,然后 `j` 的值变成了 `5`。
- `t` 的值是 `2`。
- `j` 的值是 `5`。
因此,表达式 `iktkj` 的值是 `3 * 1 * 5 * 2 * 5 = 150`。