私は自分で実装しようとしていましたが、うまくいくようですが、どうやって最後にstrcat
来たのかわかりません か? それは b からコピーしたものではなく、配置せずに存在するべきではありません。説明はありますか?出力は「yesMichaelJudy」です。p
'\0'
#include<string.h>
#include<stdio.h>
#include <stdlib.h>
#include<conio.h>
char* strcat1( char *s1, const char *s2 )
{
register char *p = s1;
while ( *p )
++p;
while (*s2){
*p=*s2;
++p;
++s2;
}
if (*p=='\0') printf("yes");
++p;
p='\0';
return s1;
}
int main(){
char* a;
char* b;
char* result;
result=(char *)calloc(20,sizeof(char));
a=(char *) calloc(20,sizeof(char));
b=(char *) calloc(20,sizeof(char));
strcpy (a,"Michael");
strcpy (b,"Judy");
result=strcat1(a,b);
printf(result);
getch();
return 1;
}