【发布时间】:2026-01-10 18:00:02
【问题描述】:
我正在尝试取值 N,并创建一个列表/向量,其中包含从 N 到 0(不包括在内)的所有值,然后再次创建 N。
定义N后,我有如下代码:
for (int i = N; i > 0; i--) {
cout << i << endl;
}
这会巧妙地打印出所需的值。例如,当 N=3 时:
3
2
1
3
问题是我无法操纵这些来计算我想要的(即平均值、范围、最大值和最小值)。所以我需要做的是让每次迭代都将自己放入一个数组中,与上一次迭代放入自己的数组相同。
我在这里 (How to store the result of each iteration of a for loop into an array (Javascript)) 发现了一个类似的问题,除了它是在 javascript 中,这给我带来了一些问题。
为什么以下内容在 C++ 上不起作用,我该如何更改?
var array = []
for (int i = N-1; i < N; i--) {
array.push(i);
}
同样的事情 int replacint var 也不起作用。
有什么建议吗?
【问题讨论】:
-
首先,
for (int i = N-1; i < N; i--) { cout << i << endl; }不会导致打印3 2 1 3。我建议先运行你的代码,然后问它有什么问题 -
您的第一个
for循环会持续半无限期地运行(即,它会一直运行直到达到INT_MIN,然后 - 这是未定义的行为)。 -
"为什么以下内容在 C++ 上不起作用,我该如何更改?"你不能只是编造语法。在 C++ 中,
for (int i = N-1; i < N; i--)将调用 undefined behaviour。 C++ 不是 Js,反之亦然,它们有非常不同的通用范式和习语,你必须分别学习它们。 -
代码已编辑为应有的样子,但在我输入 Q 时注意力不集中。