为什么做while循环无限执行呢?

时间:2018-07-03 15:00:53

标签: c++ loops infinite-loop do-while

为什么循环无限执行时会这样做?

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
unsigned int base;
cout << "Base: ";
cin >> base;
for (int i = 1; i <= base; i++) {
    int j = 0;
    do {
        cout << "#";
        j++;
    } while (j = i);
    cout << endl;
};
system("pause");
// keep on building up until you reach 'base'
return 0;
}

对此我真的很困惑。该程序应该创建这样的三角形

#
##
###

(用户输入底数,因此在此示例中,底数= 3) 有人帮我解决菜鸟错误吗?

1 个答案:

答案 0 :(得分:2)

您可能想尝试while (j == i);

j = i是一个变量声明/赋值,只要成功,它将始终为true。似乎您想比较两者,因此请使用等于运算符: ==

编辑:输入错误,因此出现与您的问题相同的错误。解决该问题。