#include <stdio.h>
#include <stdlib.h> //for malloc
#include <string.h>
int *my_strcat(const char* const str1, const char *const str2)
{
int s1, s2, s3, i=0;
char *a;
s3 = s1+s2+1;
for(i = 0; i < s1; i++) {
a[i] = str1[i];
}
for(i = 0; i < s2; i++) {
a[i+s1] = str2[i];
}
a[s3] = '\0';
return a;
}
int main(void)
{
printf("%s\n",my_strcat
("Hello","world!")); return 0;
}
ICAgICNpbmNsdWRlIDxzdGRpby5oPgogICAgI2luY2x1ZGUgPHN0ZGxpYi5oPiAvL2ZvciBtYWxsb2MKICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KCiAgICBpbnQgKm15X3N0cmNhdChjb25zdCBjaGFyKiBjb25zdCBzdHIxLCBjb25zdCBjaGFyICpjb25zdCBzdHIyKQogICAgewogICAgCWludCBzMSwgczIsIHMzLCBpPTA7CiAgICAJY2hhciAqYTsKICAgIAlzMSA9IHN0cmxlbihzdHIxKTsKICAgIAlzMiA9IHN0cmxlbihzdHIyKTsKICAgIAlzMyA9IHMxK3MyKzE7CiAgICAJYSA9IG1hbGxvYyhzMyk7CiAgICAJZm9yKGkgPSAwOyBpIDwgczE7IGkrKykgewogICAgCQlhW2ldID0gc3RyMVtpXTsKICAgIAl9CiAgICAJZm9yKGkgPSAwOyBpIDwgczI7IGkrKykgewogICAgCQlhW2krczFdID0gc3RyMltpXTsKICAgIAl9CiAgICAJYVtzM10gPSAnXDAnOyAgCiAgICAKICAgIAlyZXR1cm4gYTsKICAgIH0KICAgIAogICAgCiAgICBpbnQgbWFpbih2b2lkKQogICAgewogICAgCXByaW50ZigiJXNcbiIsbXlfc3RyY2F0KCJIZWxsbyIsIndvcmxkISIpKTsKICAgIAlyZXR1cm4gMDsgICAgCiAgICB9Cg==