分析:
1.将第一个字符串直接放入第二个字符串的后面,但是需要知道从第二个数组的哪个下标开始依次放入
2.先计算字符串的大小(1.可以用循环(或则递归)计算 2.直接用strlen函数计算(最后代码实现我们用函数))
循环实现: 1. 给一个计数,用来统计有效字符的个数 2. 遍历字符串,只要没有遇到\0, 遇到一个字符给计数加1,直到遇到\0 */ int my_strlen(char* str) { int count = 0; while('\0' != *str) { count++; str++; } return count; }
递归实现 int my_strlen(char *str) { if('\0' == *str) return 0; else return 1+my_strlen(1+str); }
代码实现:
#include <stdio.h> #include <string.h> void fun(char s1[], char s2[]) { int len1 = strlen(s1); int len2 = strlen(s2); int i = 0; for (i = 0; i < len2; i++) { if (s2[i] == '\0') { break; } s1[len1 + i] = s2[i]; } } int main() { char s1[80] = { 0 }; char s2[40] = { 0 }; printf("输入s1 s2\n"); scanf("%s %s",&s1,&s2); printf("s1=%s\n",s1); printf("s2=%s\n",s2); fun(s1, s2); printf("%s\n",s1); return 0; }
运行结果: