自定义函数实现字符串连接

实现两个字符串的连接,不用strcat,不用strlen。
题目要求如下:

img


提供的主函数如下:

#include
int main()
 {
     char s1[160];
     char s2[80];
     fgets(s1,159,stdin);
   fgets(s2,79,stdin);
     MyStrcat(s1,s2);
     printf("%s\n",s1);
     return 0;
 }

求解答,使用了一些方法,得到的结果大部分都是没法连接,仍然是两行。

把s2的每个字符加到s1的尾部啊

void MyStrcat(char *s1,char *s2)
{
    char *p = s1;
    while(*p++);
    p--;
    while(*s2 != 0)
    {
       *p = *s2;
       p++;
       s2++;
    }
    *p = 0;
}

可以参考下面方法,可行还望采纳:

#include <stdio.h>

void Mystrcat(char s1[], char s2[]) {
    int i, j;
    i = j = 0;
    while (s1[i] != '\0') {
        i++;
    }
    while ((s1[i++] = s2[j++]) != '\0');
}

int main() {
    char s1[100], s2[100];
    scanf("%s%s", s1, s2);
    Mystrcat(s1, s2);
    printf("%s\n", s1);
    return 0;
}