69,373
社区成员
发帖
与我相关
我的任务
分享
#pragma warning(disable:4996)
#include<stdio.h>
#include<string.h>
int main()
{
char *pstr[5], name[5][20];//这里的*pstr[5]其实就是一个二维指针,因为数组是用来存放指针的,指针前面在加一个 *
char **p;
int i;
for (i = 0; i < 5; i++)
{
pstr[i] = name[i];
}
for (i = 0; i < 5; i++)
{
scanf("%s", pstr[i]);
}
for (i = 0; i < 5; i++)
{
printf("%s\n", pstr[i]);
}
return 0;
void sort(char**p);
p = pstr;
sort(p);
for (i = 0; i < 5; i++)
{
printf("%s\n", *(p + i));
}
return 0;
}
void sort(char**p)
{
int i, j;
for (i = 0; i < 5-1; i++)
{
int sign = i;
for (j = i + 1; j < 5; j++)
{
if (strcmp(*(p + i), *(p + j)>0))//错误。
sign = j;
}
if (sign != i)
{
char *temp;
temp = *(p + i);
*(p + i) = *(p + sign);
*(p + sign) = temp;
}
}
}