C++ 将数字输入数组并输出
C++ Inputting numbers into array and outputting them
我试图理解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];
}
相关文章:
- 使用递归输出数组
- C++ 输出数组中的最高元素
- 空指针(为缺少的输出数组调用的 create() 在 create,文件 /home/m/OpenCV/modules/
- C++ 为什么我会得到垃圾输出数组?
- C 默认如何输出数组
- 使用递归输出数组
- 从 VB6 调用的 C++ DLL 函数中的输出数组参数
- 递归函数,用于输出数组的最小数量
- 如何在 c++ 中水平输出数组
- 冒泡排序未正确排序或输出数组值
- 按相反顺序输出数组的元素
- 制作一个排列函数,输出数组中所有可能的排列
- OpenCV (c++)缝合器不写入输出数组
- 创建一个3x3x3阵列.用0到9之间的随机值填充.输出数组.找出3个最小值和3个最大值的输出
- 实现[B,C]=f(A)语法(函数f作用于具有两个或多个输出数组的数组)
- 双指针输出数组参数异常
- SWIG Python C++输出数组给出'unknown type'错误
- 以 XLL 为单位获取调用方定义的输出数组尺寸
- c++:如何从函数接收可变长度的输出数组
- 未定义的符号 输出数组 opencv fedora.