#include <stdio.h>
void cat_data(int *data1,const int *data2,int len2,int max1) {
int len1=0;
while (len1<max1&&data1[len1]!=0) {
len1++;
}
for (int i= 0;i<len2&&(len1+i)<max1-1;i++) {
data1[len1+i]=data2[i];
}
data1[len1+len2] = 0;
}
int main(void) {
int data1[7] = {1,2};
int data2[5] = {3,4,5,6,7};
cat_data(data1, data2, 5,8 );
for (int i=0;data1[i]!=0;i++) {
printf("data1[%d] = %d\n",i
,data1
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhdF9kYXRhKGludCAqZGF0YTEsY29uc3QgaW50ICpkYXRhMixpbnQgbGVuMixpbnQgbWF4MSkgewogICAgaW50IGxlbjE9MDsKICAgIHdoaWxlIChsZW4xPG1heDEmJmRhdGExW2xlbjFdIT0wKSB7CiAgICAgICAgbGVuMSsrOwogICAgfQoKICAgIGZvciAoaW50IGk9IDA7aTxsZW4yJiYobGVuMStpKTxtYXgxLTE7aSsrKSB7CiAgICAgICAgZGF0YTFbbGVuMStpXT1kYXRhMltpXTsKICAgIH0KCiAgICBkYXRhMVtsZW4xK2xlbjJdID0gMDsKfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IGRhdGExWzddID0gezEsMn07ICAgCiAgICBpbnQgZGF0YTJbNV0gPSB7Myw0LDUsNiw3fTsKICAgIGNhdF9kYXRhKGRhdGExLCBkYXRhMiwgNSw4ICk7CiAgICBmb3IgKGludCBpPTA7ZGF0YTFbaV0hPTA7aSsrKSB7CiAgICAgICAgcHJpbnRmKCJkYXRhMVslZF0gPSAlZFxuIixpLGRhdGExW2ldKTsKICAgIH0KICAgIHJldHVybiAwOwp9