c语言的问题 连个字符串相连的问题 求解释

发布网友 发布时间:2024-10-24 03:28

我来回答

4个回答

热心网友 时间:2024-11-01 20:19

我举个例子第一个字符串的是abc,第二个是defg
则可能数组存放中是这样的
abc\0
defg\0
(\0是结束标志)

进行p1后第一个字符串变为
abcdefg
注意此时没有\0,所以这时会发生乱七八糟的无厘头错误。因为while(str1[j]!='\0')使得当碰到的结束标志时后面的赋值语句以及自加语句不执行

解决办法,在p1函数的最后面加上
str[i]=str[j];
即可。祝你愉快顺利的解决问题

热心网友 时间:2024-11-01 20:20

未初始化数组
char x1[100];
char x2[100];
memset(x1,0,100);
memset(x2,0,100);

热心网友 时间:2024-11-01 20:20

嗯,正常,因为字符串是以'\0'结尾的,而你在程序里面这个'\0'没有拷过去,所以后面乱码。在最后面加上str[i]='\0';就好了

热心网友 时间:2024-11-01 20:21

用现成的吧strcpy(a,b)
头文件string.h
while(str(i)=str1(i)!='\n')

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com