将两个字符串连接起来,不要用strcat函数

  • Post author:
  • Post category:其他


思路:由键盘输入两个字符串再将这两个字符串放入另外的一个数组里边

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[50], str2[50];
	char string[100] = {0};
	int i, j=0, m;
	printf("请输入两个字符串:\n");
	gets_s(str1);
	gets_s(str2);//输入两个字符串
	for (i = 0; str1[i] != '\0'; i++)
	{
		string[j] = str1[i];//将第一个字符串放入string
		j = j + 1;
	}
	for (m = 0; str2[m] != '\0'; m++)
	{
		string[j] = str2[m];//将第二个字符串放入string
		j++;
	}
	puts(string);//输出连接后的字符串
	return 0;
}

在这个过程中,出现了异常

1..问题:for循环无法停止导致数组满溢,判断循环的执行条件有误。

2.原因:对于字符串结束的标志认知错误,是‘\0’不是‘\n’

3.解决:

for


(i = 0; str1[i] !=


‘\n’


; i++)


修改为


for


(i = 0; str1[i] !=


‘\0’


; i++)



版权声明:本文为m0_64132509原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。