为什么我的数组输出一个不在其中的元素
Why my array outputs an element that is not in it?
我的数组中仍然存在相同的wierd数问题,但这次是在不同的函数中:
#include <iostream>
using namespace std;
//First Array
int n[20];
int i, a;
//Second Array
int n2[20];
int i2, a2;
void arraySelection();
void printArrays();
void unionArray();
void intersectionArray();
int main(){
arraySelection();
printArrays();
intersectionArray();
unionArray();
return 0;
}
void arraySelection(){
cout << "First array size: ";
cin >> a;
cout << "Array elements: " << endl;;
for (i = 0; i < a; i++){
cin >> n[i];
}
cout << "nSecond array size: ";
cin >> a2;
cout << "Array elements: " << endl;;
for (i2 = 0; i2 < a2; i2++){
cin >> n2[i2];
}
}
void unionArray(){
const int riemp = 40;
int unionNums[riemp];
int j, x, y, z;
bool t = false;
for (j = 0; j <= riemp; j++){
unionNums[j] = n[j];
cout << unionNums[j] << " ";
}
}
基本上,我试图将我的第一个数组n[20]的数字复制到我的unionNums[40]数组中。它实际上是这样做的,但它也输出一系列0和其他大的wierd数。两天过去了,仍然不知道。(附言:如果我试图将固定数字赋给数组,这样就可以消除用户输入,这没有任何问题(我也没有麻烦复制我的intersectionArray和printArray函数,因为它们做的事情我现在不再需要了
在这里您可以读取n[a-1]
:以下的元素
for (i = 0; i < a; i++){
cin >> n[i];
}
因此,直到n[a-1]
的所有元素都被初始化。然后打印所有元素,直到n[a]
。
for (i = 0; i < a+1; i++){ // note that you have "a+1" here, not just "a"
cout << n[i] << " - ";
}
n[a]
未初始化。当你读出来的时候,这是未定义的行为。这通常表现为获得一个垃圾值,这就是您在输出中看到的。在第二个数组/循环中也会发生同样的情况,在该循环中,为i2 < a2
写入数组,但为i2 < a2+1
获得输出。
相关文章:
- 当我在其中一个线程执行中(在activemq-cpp中)捕获到特定值时,我如何终止/停止所有其他线程
- 如果我们在其中输入一个整数,则字符会给出整数作为输出,但是当分配给它一个整数时,这不会发生。为什么?
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 为什么我的数组输出一个不在其中的元素
- 如何制作一个结构程序,在其中可以存储无限量的数据,以便每次您想要时都可以将另一个产品添加到列表中?
- 程序在其中一个案例完成后终止,但对于其他情况则不终止
- gtkmm listStore,如何在其中一个行中捕获该值
- 如何在其中一个层次结构类中使用std :: is_base_of
- 一个整数可以安全阅读,而另一个线程可能会在其中编写
- 我正在尝试创建一个程序,用户在其中输入一系列数字,并且我想列出范围之间的质数
- 一种程序,用户在其中输入一个整数,程序指示该整数是否为素数
- 为什么不允许将右值引用绑定到非常数引用,而允许在其中一个上调用非常数成员函数
- 如何从C++代码中打开一个新终端并在其中编写
- 是否有一个 c++ 矩阵库,我可以在其中索引具有非连续向量的矩阵,如 R 中的矩阵
- (C++)如何挂起主线程,然后在其中恢复另一个线程
- 我如何定义一个向量,并用C++在其中存储对象
- 如何仅在前面所有条件都为假时执行一个块,并在其中一个条件为真时执行一个特定的块
- 我正在创建一个二进制文件,在其中插入一对int类型和一个结构,并看到下面给出的错误.请提出建议
- QTabWidget 选项卡在其中一个选项卡中不显示任何内容
- 我想创建一个函数,我可以在其中输入一个字符串,它会输出一个混乱的字符串版本