c语言的问题 连个字符串相连的问题 求解释
发布网友
发布时间:2024-10-24 03:28
我来回答
共4个回答
热心网友
时间:2024-11-01 18:34
我举个例子第一个字符串的是abc,第二个是defg
则可能数组存放中是这样的
abc\0
defg\0
(\0是结束标志)
进行p1后第一个字符串变为
abcdefg
注意此时没有\0,所以这时会发生乱七八糟的无厘头错误。因为while(str1[j]!='\0')使得当碰到的结束标志时后面的赋值语句以及自加语句不执行
解决办法,在p1函数的最后面加上
str[i]=str[j];
即可。祝你愉快顺利的解决问题
热心网友
时间:2024-11-01 18:34
未初始化数组
char x1[100];
char x2[100];
memset(x1,0,100);
memset(x2,0,100);
热心网友
时间:2024-11-01 18:35
嗯,正常,因为字符串是以'\0'结尾的,而你在程序里面这个'\0'没有拷过去,所以后面乱码。在最后面加上str[i]='\0';就好了
热心网友
时间:2024-11-01 18:35
用现成的吧strcpy(a,b)
头文件string.h
while(str(i)=str1(i)!='\n')