#include <stdio.h>
char *my_strcat1(char dest[],char src[]);
char *my_strcat2(char dest[],char src[]);
int main(int argc, char const *argv[])
{
char a[20] = "zhangsan";
char b[20] = "zhangsan";
char c[20] = "lisi";
printf("方法一:%s\n", my_strcat1(a,c));
printf("方法二:%s\n", my_strcat2(b,c));
return 0;
}
char *my_strcat1(char dest[],char src[]){
int dest_len = 0; //因为要将src接到dest后面,要知道dest的长度对其进行操作
while (dest[dest_len] != 0)
{
dest_len++;
}
for(int j = 0;src[j] != 0;j++) { //简单的拼接
dest[dest_len+j] = src[j];
}
return dest;
}
char *my_strcat2(char dest[],char src[]) {
int j = 0;
while(++j) {
int i = j - 1;
if(dest[i] == 0) {
for(int j = 0;src[j] != 0;j++) {
dest[i+j] = src[j];
}
return dest;
}
}
运行结果: