问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
char a[100], b[100]; int len = 0;
cout << "请输入两个字符串:" << endl;
cin.getline(a, 99);
cin.getline(b, 99);
if (strlen(a) > strlen(b))
{
len = strlen(a);
char * c = new char[len];
int i;
for (i=0; *(b + i) != '\0'; i++)
{
if (*(a + i) > *(b + i))
{
*(c + i) = *(a + i);
}
else
{
*(c + i) = *(b + i);
}
}
int j;
for ( j = i; *(a + j) != '\0'; j++)
{
*(c + j) = *(a + j);
}
cout << "新的字符串是:";
puts(c);
}
else
{
len = strlen(b);
char * d = new char[len];
int k;
for (k = 0; *(a + k) != '\0'; k++)
{
if (*(a + k) > *(b + k))
{
*(d + k) = *(a + k);
}
else
{
*(d + k) = *(b + k);
}
}
int h;
for (h = k; *(b + h) != '\0'; h++)
{
*(d + k) = *(b + k);
}
cout << "新的字符串是:";
puts(d);
}
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果