- 论坛徽章:
- 0
|
原帖由 alexhappy 于 2008-10-13 14:09 发表 ![]()
char *tmp;
tmp = *(x+i);
*(x+i) = *(x+j);
*(x+j) = tmp;
即可。。。
#include "stdio.h"
#include "string.h"
#define N 5
void sort(char *x[], int n)
{
int i,j;
char *t;
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
{
if(strcmp(*(x+i),*(x+j)) < 0)
{
*t=*(x+i);
*(x+i)=*(x+j);
*(x+j)=*t;
}
}
}
}
void main()
{
int i;
char *a[N]={"bc","ca","d","ea","ac"};
printf("S:\n");
for(i=0;i<5;i++)
printf("%-4s",*(a+i));
printf("\n\n");
sort(a,N);
printf("D:\n");
for(i=0;i<5;i++)
printf("%-4s",*(a+i));
printf("\n\n");
}
还是一样有错误 |
|