如图,那么这个问题用数组来表达不就是a[]={1,2,3} b[]={2,3,4} 则输出a[]={1,2,3,4}吗??我是这样实现的 #include
using namespace std;
int main()
{
int a[] = {0};
cout << "请输入数组a的元素:" << endl;
for (int i = 0; i < 3; i++)
{
cin >> a[i];
}
for (int x = 0; x < 3; x++)
{
cout << a[x] << " ";
}
cout << endl;
cout << "请输入b数组的元素:" << endl;
int b[] = { 0 };
for (int j = 0; j < 3; j++) //循环输入
{
cin >> b[j];
}
for (int x = 0; x < 3; x++) //然后输出看下
{
cout << b[x] << " ";
}
cout << endl;
for (int j = 0; j < 3;j++) //j为数组b的下标
for (int i = 0; i < 3; i++) // i为数组a的下标
{
if (a[i] == b[j]) // 如果
{
continue;
}
else
{
a[sizeof(a)] = b[j]; //将满足条件的b值插入到数组a中的
}
}
cout << b[sizeof(a)] << endl;
cout << "此时数组a的元素为:" << endl;
for (int x = 0; x <sizeof(a); x++)
{
cout << b[x] <<" ";
}
system("pause");
return 0;
}请问错在哪?!定义好的数组定长不可插入?!
{0} 一个元素
C,C++内置数组,元素个数是固定的
定义多大就是多大
用初始化表初始化的,没有定义元素个数的数组
元素个数,由初始化表决定
int b[] = { 0 };这样就表示b数组固定就是一个长度的数组,你如果b[1]=进行赋值,就越界了,可能出现异常
要实现动态增长的话可以使用malloc申请的数组,然后用realloc扩充
如果是C++的话直接用vector就可以了,push_back元素就行
自顶,求解。求解答啊。。。。