小编Sca*_*ett的帖子

初级 C++ 数组

我是 C++ 新手。下面是输入和显示数组的代码——很容易理解事物的工作原理。

int main() {
  int N, i;
  int A[N];
  cin >> N;
  for (i = 0; i < N; i++) {
    cin >> A[i];
  }
  for (i = 0; i < N; i++) {
    cout << A[i];
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输入是:

4
1 2 3 4
Run Code Online (Sandbox Code Playgroud)

输出是:

12
Run Code Online (Sandbox Code Playgroud)

我已将我的代码更正为:

int N, i;
cin >> N;
int A[N];
Run Code Online (Sandbox Code Playgroud)

这可以正确显示数组。

究竟发生了什么?在初始化 A[N] 之前 N 应该有一个值吗?但为什么我最初的代码不起作用呢?这与等级制度有关吗?如果是这样,我怎样才能正确处理我的优先事项?

如果N初始化为一个大值,那么N接下来会有一个特定数字的输入,如果这样的话,为什么即使N=9,输出仍然是相同的:12?

c++ arrays

5
推荐指数
2
解决办法
158
查看次数

标签 统计

arrays ×1

c++ ×1