C ++ - 通过向量循环无限运行

时间:2017-05-17 20:04:25

标签: c++ loops vector infinite-loop cout

我是C ++的新手,来自Java(昨天开始学习)。

我正在尝试遍历向量的元素。出于某种原因,当我这样做时,它无休止地输出空行。

#include <iostream>
#include <string>
#include <vector>
int main()
{
    std::string expression = "5+4";
    std::vector<char> characters(expression.begin(), expression.end());
    for (char c : characters) {
        std::cout << c << std::endl;
    }
}

我一直遇到这个问题,我不知道为什么会这样做。

我试着搜索其他人是否有这个问题,但我找不到任何关于它的问题或答案......我做错了什么?

修改 我正在使用MinGW

GIF或它没有发生 gif

1 个答案:

答案 0 :(得分:-3)

我不是CPP的专家,但是我假设你的代码是在向量中插入字符串并遍历向量,如果是这样,继承代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std; //i add this line to remove the "std" in every line
int main()
{
    string expression = "5+4";
    vector <char> characters(expression.begin(), expression.end());
    for (int i=0; i< characters.size(); i++)
    {
        cout << characters[i] << endl;
    }
}

我可以告诉你的一个解释是,你不打印带有索引的向量,所以它会有一些错误,我使用的循环也会更清楚地看到。< / p>