练习>>合并两个字符串(放入其中一个数组)

分析:

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;
}


运行结果:

Supongo que te gusta

Origin blog.csdn.net/2301_77509762/article/details/130813217
Recomendado
Clasificación