我想我会得到 12
,而不是 7
。
w++
,那么w
就是4
,也就是100
,而w++
, w
将是 8
,1000
;
所以 w++|z++
将是 100|1000 = 1100
将是 12
。
我怎么了?
int main()
{
int w=3, z=7;
printf("%d\n", w++|z++);
}
最佳答案
您误解了 postfix ++
运算符。变量的值在变量递增之前使用。对于 prefix ++
运算符,您的分析是正确的,如 ++w|++z
中。
关于c++ - |运算符 ,++ 和 I 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9781437/