C语言指针编程题,求助大佬

编写函数catStr(char * strl1,char * str2)用于连接两个字符串,采用指针实现其过程,并在主函数中调用。
要求:
①不允许使用strcat字符处理库函数。
②在主函数中以直接初始化的方式输人两个字符串str1、str2。
③调用函数catStr连接两个字符串(将str2 连接在str1后面)。
④在主函数中输出两个初始字符串和连接后的字符串。

#include <stdio.h>

#include <string.h>

#define MAXS 100

char *str_cat( char *s, char *t );

int main()

{

    char *p;

    char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'};

    scanf("%s%s", str1, str2);

     printf("%s\n",str1);

    p = str_cat(str1, str2);

    printf("%s\n%s\n", str2, p);

    return 0;

}

char *str_cat (char *str1, char *str2) {

char *p=str1;

while(*(p++));

p--;

while(*str2)*(p++)=*(str2++);

*p=*str2;

return str1;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-27

函数catStr
void catStr(char *pstr1,char *pstr2){

    while (*pstr1)

        pstr1++;

    while (*pstr2)

        *(pstr1++) = *(pstr2++);

    *pstr1='\0';

}

结果