如何使用“while loop”打印正确的输出?
Posted
技术标签:
【中文标题】如何使用“while loop”打印正确的输出?【英文标题】:How to print the Correct output using " while loop "? 【发布时间】:2020-08-10 21:35:17 【问题描述】:预期输出是 2000,但它在 1980 停止。
注意:执行从 20 开始,而不是从 0 作为 int i = 1
代码:
#include <iostream>
using namespace std;
int main()
const int iarraysize = 100;
int i = 1;
int iarray[iarraysize];
while (i < iarraysize)
iarray[i] = 20 * i;
cout << iarray[i++] << "\n";
【问题讨论】:
这能回答你的问题吗? What is a debugger and how can it help me diagnose problems? @Ayxan 是的,它包含了很好的信息。 【参考方案1】:数组从 0 到 99,从 1 开始,它只到 99 (99*20=1980)。
您期望 2000 年,但没有 iarray[100]
(数组超出范围)。
【讨论】:
我遇到了 99 个问题,但起始索引不是 1 --- [抱歉,必须完成 :)] 我知道这种感觉,因为超市缺货,我现在不得不使用 GDPR 的卫生纸手册。【参考方案2】:变量i
的最后一个小于100的值是99。所以20 * 99等于1990
。
如果你想得到 2000 然后重写循环像
int i = 0;
while (i < iarraysize)
iarray[i] = 20 * (i + 1);
cout << iarray[i++] << "\n";
【讨论】:
【参考方案3】:数组从 0 开始,在其大小之前结束 1。
但是你不需要数组。
#include <iostream>
int main()
int limit = 100;
int i = 1;
while (i <= limit)
std::cout << (i++ * 20) << "\n";
【讨论】:
我会让limit
const。除此之外,这是最好的解决方案。以上是关于如何使用“while loop”打印正确的输出?的主要内容,如果未能解决你的问题,请参考以下文章
VB中的do while……loop 和do……loop while语句是一样的吗
在计算某个整数的除数 # 时,我的程序无法跳出“While Loop”? [关闭]