程序的算法不知道哪里有问题
#include <stdio.h>#include <string.h>
int main()
{
void sort(char **p);
char **p, *pl[5], a[5][10];
int i;
for (i = 0; i < 5; i++)
pl[i] = a[5];
printf("请输入五个字符串:");
for (i = 0; i < 5; i++)
{
scanf_s("%s",pl[i], sizeof(pl[i]));
}
p = pl;
sort(p);
for (i = 0; i < 5; i++)
{
printf("%s \n",pl[i]);
}
return 0;
}
void sort(char **p)
{
int i, j;
char *temp;
for (i = 0; i < 4; i++)
{
for (j = i + 1; j < 5; j++)
{
if (strcmp(*(p + i), *(p + j)) > 0)
{
temp = *(p + i);
*(p + j) = *(p + i);
*(p + i) = temp;
}
}
}
}
语法没有毛病,但是运行出来总是出错