bes*_*r14 -2 c++ expression-evaluation undefined-behavior c++17
我正在尝试评估这一点,即使它很简单,我似乎也无法理解它。我得到了 16,但提供的答案是 12。我不明白这怎么可能是 12。
我--x首先这样做了,所以首先y是 4,然后我需要乘以x--,但它也会是 4,因为它是在之后评估的,并且x之后会递减到 3。所以4*4 = 16。
有人可以解释我的推理有什么问题吗?
int x, y;
x = 5;
y = --x * x--;
std::cout << y;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |