C语言:实现字符串连接

在C语言中,字符串通常以字符数组的形式存储。连接两个或多个字符串是一项常见的任务。本博客将介绍如何使用C语言来实现字符串的连接。

库函数实现:

strcat() 是C标准库中提供的一个函数,用于将一个字符串(源字符串)追加到另一个字符串(目标字符串)的末尾。该函数原型如下:

#include 

char *strcat(char *dest, const char *src);
  • dest:指向目标字符串的指针。
  • src:指向源字符串的指针。

示例代码:

int main() {
	char arr1[50] = "你好";
	char arr2[50] = "世界";
	char str1[100];
	strcat(str1, arr1);//strcat将从arr1第一个字符开始拷贝
	strcat(str1, arr2);//将arr2拷贝到str1后面
	printf("%s\n", str1);
	return 0;
}

循环实现:

除了使用 strcat() 函数,我们也可以手动实现字符串连接。这里提供一种简单的实现方法:

int main() {
	char str1[100],str2[100];
	int j = 0;
	int i = 0;
	printf("第一个字符串\n");
	scanf("%s", &str1);
	printf("第二个字符串\n");
	scanf("%s", &str2);
	for (; str1[i] !='\0'; i++)
	{

	}
	for (; str2[j] != '\0'; j++,i++)
	{
		str1[i] = str2[j];
	}
	str1[i] = '\0';
	printf("%s\n", str1);
	return 0;
}

函数指针实现:

void lianjie(char* a,char*b) {
	while (*a!='\0')
	{
		*a++;
	}
	while (*b!='\0')
	{
		*a++ = *b++;
	}
	*a = '\0';
}
int main() {
	char arr1[50] = "你好";
	char arr2[50] = "世界";
lianjie(arr1, arr2);
printf("%s", arr1);
		return 0;
}

总结:

在C语言中,可以使用 strcat() 函数或手动实现字符串连接。无论采用哪种方式,都需要确保目标字符串有足够的空间来容纳源字符串,以避免内存溢出。

你可能感兴趣的:(c语言,开发语言)