#include<stdio.h>
#include<string.h>
#define maxsize 5
int func(int arr1[], int len1, int arr2[], int len2, int index) {
//先判断边界条件
if (len1 + len2 > maxsize)
return -1;
if (index > len1)
return -1;
//为arr2先空出位置
for (int i = len1 - 1; i >= index; i--)
arr1[i + len2] = arr1[i];
//插入len2的所有元素
for (int i = 0; i < len2; i++)
arr1[i + index] = arr2[i];
len1 += len2;
return len1;
}
int main() {
int arr1[maxsize] = { 1,2,3 };
int len1 = 3;
int arr2[maxsize] = { 4,5 };
int len2 = 2;
int index = 3;
len1 = func(arr1, len1, arr2, len2, index);
for (int i = 0; i < len1; i++)
printf("%d", arr1[i]);//依次打印该数组的所有元素
return 0;
}