在for循环中控制cout

时间:2017-08-12 19:47:00

标签: c++11 for-loop

这是我的代码:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main()
{

stringstream os; // Initialize stringstream "os"
string mValue = "month"; // Initialize mValue "month"
int iValue = 1; // Initialize iValue "1"

for(int iValue = 1; iValue < 13; ++iValue) // Iteration 1: 1 < 12 so execute the following:
{
    os << mValue << "" << iValue; // Glue mValue and iValue together
    cout << os.str() << endl; // Print glued mValue and iValue
}

return 0;

}

这导致以下输出:

month1
month2month2
month3month3month3
month4month4month4month4
month5month5month5month5month5
month6month6month6month6month6month6
month7month7month7month7month7month7month7
month8month8month8month8month8month8month8month8
month9month9month9month9month9month9month9month9month9
month10month10month10month10month10month10month10month10month10
month11month11month11month11month11month11month11month11month11month11
month12month12month12month12month12month12month12month12month12month12month12

所需的输出是:

month1
month2
month3
month4
month5
month6
month7
month8
month9
month10
month11
month12

作为编码的菜鸟,我理解为什么会这样,但我不知道如何解决它。我试图将cout放在for循环之外,但结果是

month1month2month3month4month5month6month7month8month9month10month11month12

我没有想法,我希望你能告诉我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

在将cout放在循环之外后,你需要将下一行转义序列添加到for循环中的os值。

real