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