在主函数中输入5个字符串,定义指针数组指向这5个字符串,编写函数对字符串降序排序,在主函数中输出排序后的字符串。
以下是我的代码,怎么改,谢谢
你光定义了指针,但是没有分配空间
在char *p[5];
下面加上
for (i = 0; i < 5; i++)
p[i] = (char *)malloc(sizeof(char) * 100);
#include <iostream>
#include <string>
using namespace std;
void fun(string* p, int n)
{
string k;
for (int i = 0; i < n; i++)
{
cout << endl;
for (int j = i + 1; j < n; j++)
{
if (p[i].length()<p[j].length())
{
k = p[i];
p[i] = p[j];
p[j] = k;
}
}
cout<<p[i];
}
}
int main()
{
string p[5] ;
for (int i = 0; i < 5; i++)
{
cin>>p[i] ;
}
fun(p,5);
return 0;
}