分析:
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;
}