【问题标题】:For loop (inside while loop) is being ignoredFor 循环(在 while 循环内)被忽略
【发布时间】:2017-04-29 14:51:09
【问题描述】:

我在一个while循环中有两个for循环,但是当我执行程序时,while循环就变成了一个无限循环。这是我的代码:

    while (!inFile1.eof()){

       for (int row = 0; row < 5, row++;){
            for (int column = 0; column < 5, column++;){

            getline(inFile1, fileData, (','));

            matrix1[row][column] = stoi(fileData);

            cout << matrix1[row][column];

            }
        }       
    }

我是 C++ 新手,所以也许我犯了一个愚蠢的错误,但我会很感激任何帮助

【问题讨论】:

  • 我一直在寻找答案,而您在我即将发布回复的那一刻删除了您之前的问题。
  • 了解为什么while (!inFile1.eof()) 是错误的here
  • 我建议您撤消删除之前的问题,我们可以继续处理该问题。

标签: c++ arrays loops matrix getline


【解决方案1】:

for 循环中有杂散逗号,应该用分号替换:

int row = 0; row &lt; 5; row++;

int column = 0; column &lt; 5; column++;

目前停止条件row &lt; 5, row++,由于逗号操作符的工作方式,它与row++相同。

最终你的int 会溢出,然后你就处于未定义的行为领域。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 2019-11-10
    • 1970-01-01
    • 2016-09-08
    • 2018-11-05
    • 2013-08-04
    • 1970-01-01
    • 2018-07-24
    相关资源
    最近更新 更多