#include <stdio.h>
void cat_data(int*data1,const int*data2,int len2);
int main(void) {
int data1[7]={1,2,0,0,0,0,0};
int data2[5]={3,4,5,6,7};
int len2= sizeof(data2)/sizeof(data2[0]); //全体のバイト数÷1つのバイト数=要素の数
cat_data(data1, data2, len2);
for (int k = 0; k < 7; k++) {
printf("data1[%d] = %d\n", k
, data1
[k
]); //結果を出力 }
return 0;
}
void cat_data(int*data1,const int*data2,int len2){
int i=0;
while(data1[i]!=0){ //data1の0(要素が入っていないところ)を探している
i++; //これによってiの値が定ま
}
for(int j=0;j<len2;j++){
data1[i+j]=data2[j]; //data1の後ろにdata2を連結
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhdF9kYXRhKGludCpkYXRhMSxjb25zdCBpbnQqZGF0YTIsaW50IGxlbjIpOwoKaW50IG1haW4odm9pZCkgewoJaW50IGRhdGExWzddPXsxLDIsMCwwLDAsMCwwfTsKCWludCBkYXRhMls1XT17Myw0LDUsNiw3fTsKCQoJaW50IGxlbjI9IHNpemVvZihkYXRhMikvc2l6ZW9mKGRhdGEyWzBdKTsgIC8v5YWo5L2T44Gu44OQ44Kk44OI5pWww7cx44Gk44Gu44OQ44Kk44OI5pWwPeimgee0oOOBruaVsAoJCgljYXRfZGF0YShkYXRhMSwgZGF0YTIsIGxlbjIpOwoJCglmb3IgKGludCBrID0gMDsgayA8IDc7IGsrKykgewogICAgICAgIHByaW50ZigiZGF0YTFbJWRdID0gJWRcbiIsIGssIGRhdGExW2tdKTsgIC8v57WQ5p6c44KS5Ye65YqbCiAgICB9CgkKCglyZXR1cm4gMDsKfQoKdm9pZCBjYXRfZGF0YShpbnQqZGF0YTEsY29uc3QgaW50KmRhdGEyLGludCBsZW4yKXsKCWludCBpPTA7CgkKCXdoaWxlKGRhdGExW2ldIT0wKXsgICAgICAvL2RhdGEx44GuMO+8iOimgee0oOOBjOWFpeOBo+OBpuOBhOOBquOBhOOBqOOBk+OCje+8ieOCkuaOouOBl+OBpuOBhOOCiwoJCWkrKzsgICAgICAgICAgICAgICAgIC8v44GT44KM44Gr44KI44Gj44GmaeOBruWApOOBjOWumuOBvgoJfQoJCglmb3IoaW50IGo9MDtqPGxlbjI7aisrKXsKCQlkYXRhMVtpK2pdPWRhdGEyW2pdOyAgICAgIC8vZGF0YTHjga7lvozjgo3jgatkYXRhMuOCkumAo+e1kAoJfQoJCn0=