当不能用strcat时

1.用scanf(这里string.h可以不要)

include<stdio.h>
#include<string.h>
int main()
{
	char arr1[10], arr2[20], c, d, i;//注意arr2要大于arr1,否则可能会溢出
	scanf("%s",arr1);//输入字符串
	scanf("%s", arr2);
	c = strlen(arr1);//长度
	d = strlen(arr2);//长度
	for (i = d; i >= 0; i--)
	{
		arr2[i + c] = arr2[i];//由后往前移动注意‘\0’也要移动因为它是字符串结束标志。
	}
	for (i = 0; i <= c - 1; i++)

	{
		arr2[i] = arr1[i];//将1中的字符串移到2中。
	}
	
	printf("%s", arr2);//打印
	return 0;
}

第二种用gets语句:

include<stdio.h>
#include<string.h>
int main()
{
	char arr1[10], arr2[20], c, d, i;//注意arr2要大于arr1,否则可能会溢出
	gets(arr1);//输入字符串
	gets(arr2);
	c = strlen(arr1);//长度
	d = strlen(arr2);//长度
	for (i = d; i >= 0; i--)
	{
		arr2[i + c] = arr2[i];//由后往前移动注意‘\0’也要移动因为它是字符串结束标志。
	}
	for (i = 0; i <= c - 1; i++)

	{
		arr2[i] = arr1[i];//将1中的字符串移到2中。
	}
	
	puts(arr2);//打印
	return 0;




}

当可以用strcat 函数时(需要string.h)

#include<stdio.h>
#include<string.h>
int main()

{

	char arr1[10], arr2[20];//注意arr2要大于arr1,否则可能会溢出

	
	gets(arr1);//输入字符串
	gets(arr2);
	strcat(arr2, arr1);//将arr1字符串放到arr2后面。
	puts(arr2);
return 0;
}

当然还有很多方法可以使用。以上仅供参考。

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐