C++ 将数字输入数组并输出

C++ Inputting numbers into array and outputting them

本文关键字:输出 数组 数字输入 C++      更新时间:2023-10-16

我试图理解C++因为我是新手。 每次运行下面的代码时都会崩溃。据我所知,它应该输出 0 到 9。 声明 i = num[i] 我知道是没有意义的,但是添加这个额外的代码会使它崩溃。 为什么?

int num[10];
for(int i = 0; i < 10; i++){
i = num[i];
cout << num[i];
}

编辑 - 谢谢,猜猜我没有看到那个小错误。现在看来很明显...

您正在将未定义的num[i]分配给i。然后,您将递增 i,并在循环的下一次迭代中访问元素i(未定义)的num,该迭代只有 10 个项目长。

实际上,您正在尝试访问位置num[1978253]的内存,您无法控制。

int num[10];
for(int i = 0; i < 10; i++){
i = num[i];
cout << num[i];
}

在上面的代码段中,您没有将任何内容存储到您声明的数组中。所以它会打印出一些随机值。

以下内容将按照您的想法工作:

int num[10]={0,1,2,3,4,5,6,7,8,9};
for(int i = 0; i <= 10; i++){
cout << num[i];
}