c++ - 为什么这个do while循环无限执行?
问题描述
为什么这个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)有人帮助解决我的菜鸟错误吗?
解决方案
你可能想试试while (j == i);
。
j = i
是一个变量声明/赋值,只要它成功,它就永远为真。似乎您想比较两者,所以使用等于运算符: ==
。
编辑:打错了,因此与您的问题显示的错误相同。解决了这个问题。
推荐阅读
- python - 在电子邮件中附加 excel 文件 (XLSX)
- javascript - 仅将鼠标悬停在正方形上时如何显示正方形 id 的值?
- javascript - 如何使用 HTML5 画布调整图片大小,然后将其上传到 Google 驱动器?
- javascript - 如何将 Webpack 散列的 bundle.js 文件名注入到 RequireJS 组件中?
- c - sg_split - 为什么要清除偏移量?
- numpy - Python - TypeError:+的不支持的操作数类型:'zip'和'int'
- google-api - 检索任何电子邮件地址的 Google 个人资料图片
- javascript - 使用我自己的 reduce 函数来检查数组交集
- javascript - 如何通过输入值悬停按钮?
- docker - 从 docker 检查桥中提取 IPv4 地址