作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的代码中,我有一个 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/
在我的代码中,我有一个 for 循环,如下所示: for(unsigned int n=10; n > 1; --n) { std::cout 0; n--) { std::cout <<
我想知道 NRVO积极参与我正在从事的项目(即 Qt,使用 MSVC 2013 64 位)。 所以我写了这段代码: class foo { public: foo(){qDebug() <<
我无法让我的项目链接到 Microsoft Visual C++ 2008 Express Edition 中的 Boost(版本 1.37.0)文件系统 lib 文件。文件系统库不是只有头文件的库。
我是一名优秀的程序员,十分优秀!