gpt4 book ai didi

c++ - MSCV 2010 --someNumber 运算符的不正确行为

转载 作者:行者123 更新时间:2023-11-28 07:43:26 26 4
gpt4 key购买 nike

在我的代码中,我有一个 for 循环,如下所示:

for(unsigned int n=10; n > 1; --n)
{
std::cout << n << std::endl;
}

我期望输出:

9, 8, 7, 6, 5, 4, 3, 2, 1

我得到的输出:

10, 9, 8, 7, 6, 5, 4, 3, 2

我在使用 gnu/g++ 时得到了预期的输出,但在 MSVC 2010 中却没有。

我知道我通过执行以下操作获得了该循环的预期结果:

for(unsigned int n=9; n > 0; n--)
{
std::cout << n << std::endl;
}

有没有其他人遇到这种行为,或者我是否以某种方式不小心抛出了某种魔法开关?

最佳答案

那里没有魔法,递减发生在循环的第一次迭代之后。这就是 for 循环的工作原理。是 n-- 还是 --n 都没有区别。

关于c++ - MSCV 2010 --someNumber 运算符的不正确行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com