[英]How to print the Correct output using “ while loop ”?
预期的 Output 是 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";
}
}
Arrays 从 0 开始,在它们的大小之前结束 1。
但是,您不需要数组。
#include <iostream>
int main()
{
int limit = 100;
int i = 1;
while (i <= limit)
{
std::cout << (i++ * 20) << "\n";
}
}
数组从 0 到 99,从 1 开始,它只到 99 (99*20=1980)。
您期待 2000 但没有iarray[100]
(数组越界)。
变量i
的最后一个小于 100 的值是 99。所以 20 * 99 等于1990
。
如果你想得到 2000 然后重写循环
int i = 0;
while (i < iarraysize) {
iarray[i] = 20 * (i + 1);
cout << iarray[i++] << "\n";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.