思路:由键盘输入两个字符串再将这两个字符串放入另外的一个数组里边
#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 版权协议,转载请附上原文出处链接和本声明。