在主函数中输入十个不等长的字符串,用另一个函数对他们排序,然后在主函数输出这十个已排好序的字符串。(用指针数组处理)

求大神康康哪里出问题了
运行是可以运行的,就是没结果
#include
using namespace std;

int main()
{
char str[10][10];//定义二维数组
char* p[10];//定义指针数组
for (int i = 0; i < 10; i++)
p[i] = str[i];//定义了10个指针分别指向str字符数组中的每一个元素
cout << "请输入字符串的个数:";
int n;
cin >> n;
cout << "请输入n个字符串:" << endl;
for (int i = 0; i < n; i++)
cin >> str[i];
void sort(char* p[10], int n);
sort(p, n);
cout << "排好序后:" << endl;
for (int i = 0; i < n; i++)
cout << p[i];
return 0;
}
void sort(char* p[10], int n)
{
int i, j;
char* temp;
for (i = 0; i < n-1; i++)
{
for (j = i+1; j < n; j++)
if (strcmp(p[i], p[j]) > 0)
{
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}