为什么循环无限执行时会这样做?
#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) 有人帮我解决菜鸟错误吗?
答案 0 :(得分:2)
您可能想尝试while (j == i);
。
j = i
是一个变量声明/赋值,只要成功,它将始终为true。似乎您想比较两者,因此请使用等于运算符: ==
。
编辑:输入错误,因此出现与您的问题相同的错误。解决该问题。