演習 >> 2 つの文字列を (配列の 1 つに) 結合する

分析します:

1. 最初の文字列を 2 番目の文字列のすぐ後ろに置きますが、2 番目の配列のどの添え字を順番に置くかを知っておく必要があります

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


操作結果:

おすすめ

転載: blog.csdn.net/2301_77509762/article/details/130813217