在VC2008中,我键入了以下代码:
int a = 2 + 1 & 0;
Run Code Online (Sandbox Code Playgroud)
这个表达式的结果是a = 0
为什么结果是0而不是2?
Con*_*ius 17
由于&运营商之后才计算的+运营商和3 & 0等于0.
当然,您可以在表达式周围放置大括号以更改评估顺序.例如:
int a = 2 + (1 & 0);
/* a == 2 */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |