Abnormal Output Results of Increment Operators in VS2022
Body:
Hello. I’m learning about increment operators in C++ and have encountered a situation where the output results in VS2022 are not as expected.
Here is my test code:
#include <iostream>
using namespace std;
int main()
{
cout << “nPre – and post – increment operators ++” << endl;
int i = 2, j = 3;
cout << “i:” << i << “,i++:” << i++ << endl;
cout << “j:” << j << “,++j:” << ++j << endl;
return 0;
}
根据 C++ 标准,预期结果应为“i:2,i++:2”和“j:3,++j:4”。但是,当我在 VS2022 中运行代码时(使用“Start Without Debugging”选项),结果是不同的。
我已经尝试了以下解决方案:
1. 在每个 cout 语句后添加了 std::endl 或 std::flush 以强制缓冲区刷新。
2. 将项目编译选项中的优化设置为“Disabled (/Od)”。
3. 回复 – 创建项目并复制代码以再次运行它。
4. 重启 VS2022。
5. 检查并确保我在 Solution Explorer 视图中操作,并尝试对其进行调整。
我的 VS2022 版本是 [您的版本号]。我的操作系统是 [您的操作系统版本]。我希望有人能帮我找出问题所在。谢谢!
Body:Hello. I’m learning about increment operators in C++ and have encountered a situation where the output results in VS2022 are not as expected.Here is my test code:#include <iostream>using namespace std;int main(){cout << “nPre – and post – increment operators ++” << endl;int i = 2, j = 3;cout << “i:” << i << “,i++:” << i++ << endl;cout << “j:” << j << “,++j:” << ++j << endl;return 0;}根据 C++ 标准,预期结果应为“i:2,i++:2”和“j:3,++j:4”。但是,当我在 VS2022 中运行代码时(使用“Start Without Debugging”选项),结果是不同的。我已经尝试了以下解决方案:1. 在每个 cout 语句后添加了 std::endl 或 std::flush 以强制缓冲区刷新。2. 将项目编译选项中的优化设置为“Disabled (/Od)”。3. 回复 – 创建项目并复制代码以再次运行它。4. 重启 VS2022。5. 检查并确保我在 Solution Explorer 视图中操作,并尝试对其进行调整。我的 VS2022 版本是 [您的版本号]。我的操作系统是 [您的操作系统版本]。我希望有人能帮我找出问题所在。谢谢! Read More