设计思路:
1、首先我们要找到目标字符串的结尾,即 ‘\0’ 处
2、然后我们再依次把源字符串依次添加到目标字符串的结尾即可
实现源码如下:
#include <stdio.h>
char *my_strcat1(char *dstStr, const char *srcStr)
{
char *tmp = dstStr;
while (*dstStr)
dstStr++;
while ((*dstStr++ = *srcStr++) != '\0');
return tmp;
}
char *my_strcat2(char dstStr[], const char srcStr[])
{
int i = 0, j = 0;
while (dstStr[i] != '\0')
i++;
while (srcStr[j] != '\0')
dstStr[i++] = srcStr[j++];
dstStr[i] = '\0';
return dstStr;
}
int main(void)
{
char str1[30], str2[30];
printf("请输入第一个字符串:\n");
scanf("%s", str1);
printf("请输入第一个字符串:\n");
scanf("%s", str2);
printf("str1 + str2 = %s\n", my_strcat1(str1, str2));
return 0;
}
在ubuntu终端下编译,没有任何报错。然后运行结果如下图:
|