#include <stdio.h>
void cat_data(int *data1, const int *data2, int len2){
int i = 0, j;
while(data1[i] != NULL){
i++;
}
for(j=0;j<len2;j++){
*(data1+(i+j)) = data2[j];
}
}
int main()
{
int data1[7], data2[5], i, a;
a=5;//data1[]に入れる最大の値
for(i=0;i<7;i++){
if(i<a){
data1[i] = i + 1;
}
else{
data2[i-a] = i + 1;
}
}
int len2 = sizeof(data2) / sizeof(data2[0]);
for(i=0;i<7;i++){
if(i<a){
printf("data1[%d] = %d\n",i
,data1
[i
]); }
else{
printf("data2[%d] = %d\n",i
-a
,data2
[i
-a
]); }
}
cat_data(data1, data2, len2);
for(i=0;i<7;i++){
printf("data1[%d] = %d\n",i
,data1
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhdF9kYXRhKGludCAqZGF0YTEsIGNvbnN0IGludCAqZGF0YTIsIGludCBsZW4yKXsKICAgIGludCBpID0gMCwgajsKICAgIHdoaWxlKGRhdGExW2ldICE9IE5VTEwpewogICAgICAgIGkrKzsKICAgIH0KICAgIGZvcihqPTA7ajxsZW4yO2orKyl7CiAgICAgICAgKihkYXRhMSsoaStqKSkgPSBkYXRhMltqXTsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBpbnQgZGF0YTFbN10sIGRhdGEyWzVdLCBpLCBhOwogICAgYT01Oy8vZGF0YTFbXeOBq+WFpeOCjOOCi+acgOWkp+OBruWApAogICAgZm9yKGk9MDtpPDc7aSsrKXsKICAgICAgICBpZihpPGEpewogICAgICAgICAgICBkYXRhMVtpXSA9IGkgKyAxOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBkYXRhMltpLWFdID0gaSArIDE7CiAgICAgICAgfQogICAgfQogICAgaW50IGxlbjIgPSBzaXplb2YoZGF0YTIpIC8gc2l6ZW9mKGRhdGEyWzBdKTsKICAgIAogICAgcHJpbnRmKCJiZWZvcmU6XG4iKTsKICAgIAogICAgZm9yKGk9MDtpPDc7aSsrKXsKICAgICAgICBpZihpPGEpewogICAgICAgICAgICBwcmludGYoImRhdGExWyVkXSA9ICVkXG4iLGksZGF0YTFbaV0pOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBwcmludGYoImRhdGEyWyVkXSA9ICVkXG4iLGktYSxkYXRhMltpLWFdKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHByaW50ZigibGVuMiA9ICVkXG4iLGxlbjIpOwogICAgCiAgICBjYXRfZGF0YShkYXRhMSwgZGF0YTIsIGxlbjIpOwogICAgCiAgICBwcmludGYoImFmdGVyOlxuIik7CiAgICAKICAgIGZvcihpPTA7aTw3O2krKyl7CiAgICAgICAgcHJpbnRmKCJkYXRhMVslZF0gPSAlZFxuIixpLGRhdGExW2ldKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==