使用指针将字符串的合并,输入两个按小到大顺序排列好的字符串,使合并后的字符串仍然是从小到大排列

2024-12-18 12:52:58
推荐回答(2个)
回答1:

这里是不是需要改一下:
for(;;)
{
if(p1 {
p3=p1;
p1++;
p2++;
p3++;
}
else
{
p3=p2;
p1++;
p2++;
p3++;

}

if(*p1=='.'||*p2=='.') break;///////////////////////////////////是不是需要加上这个?
}

回答2:

错误一:没有为指针p3分配内存,所以即使后面的程序没有错误,也不会输出结果;
错误二:char *p1=&ch1[1];
char *p2=&ch2[1];
数组下标从0开始,你这样的初始化没有考虑每个数组的第一个元素;
错误三:
for(;;)
{
cout << count << endl;
count++;
if(p1 {
p3=p1;
p1++;
p2++;
p3++;
}
else
{
p3=p2;
p1++;
p2++;
p3++;

}
}
这个循环没有结束条件,所以是死循环。