【发布时间】:2022-11-03 21:27:19
【问题描述】:
我在 C++ 上写了一个简单的程序
#include<iostream>
using namespace std;
int main() {
int number19 , number20 ;
const int number = 10 ;
number20 = number + 10 ;
number19 = number20--;
cout << number << endl;
cout << number20 << endl;
cout << number19 << endl;
return 0;
}
我认为输出应该是: 10 20 19 但输出是 10 19 20
为什么我得到这样的输出?
【问题讨论】:
-
你知道post-decrement和pre-decrement的区别吗?
-
输出正确。为什么你期望不同的输出?也许由于拼写错误,您确实以与您想要的不同顺序输出了数字?
-
10 19 20是正确的结果。number20在打印前被递减,但number19包含递减前的原始值,因为您使用的是后递减。 -
使用预减量,结果将是 10 19 19,因此问题不在于减量前和减量后之间的差异。
-
@Ilya想一想:如果没有区别,为什么会存在两个单独的操作?