在主函数输入十个等长的字符串,用另一函数进行排序,然后在主函数输出这10个排好序的字符串。
#include
#include
int main()
{
void sort(char* s[]);
char *p[10],a[10][20], i;
for (i = 0;i < 10;i++)
{
p[i] = &a[i][0];
}
printf("请输入十个等长的字符串");
for (i = 0;i < 10;i++)
{
scanf_s("%s", p[i]);
}
sort(p);
for (i = 0;i < 10;i++)
{
printf("%s\n", p[i]);
}
return 0;
}
void sort(char* s[])
{
int i, j;
char* temp;
for (i = 0;i < 9;i++)
{
for (j = 0;j < 9-i;j++)
{
if (strcmp(*(s + j), *(s + j + 1)) > 0)
{
temp = *(s + j);
*(s + j ) = *(s + j + 1);
*(s + j + 1) = temp;
}
}
}
}
哪里有问题啊,这个异常怎么解决
scanf_s("%s", p[i],20);