#include <stdio.h>
void str_cat(char *p1,char *p2);
int str_length(char *p);
int main(void){
char d1[256]={0};
char d2[256]={0};
char *p1;
char *p2;
printf("一つ目の文字列 ==> ");
scanf("%s",d1);
printf("二つ目の文字列 ==> ");
scanf("%s",d2);
p1=d1;
p2=d2;
if(str_length(p1)+str_length(p2)>20)
{
printf("合計で20文字を超えたので連結しません。\n");
}else{
str_cat(p1,p2);
printf("連結後の2つ目の文字列==> %s\n",p2);
}
}
int str_length(char *p){
char *pp;
pp = p;
while(*pp++ != '\0')
;
return pp - p;
}
void str_cat(char *p1,char *p2){
while(*p2++ != '\0')
;
p2--;
while(*p1 != '\0'){
*p2++ = *p1++;
}
*p2 = '\0';
}