帮忙改下,为何达不到预期效果?
//将单词保存在指针数组中,然后通过qsort函数对数组中的单词排序后输出#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int compare(const void *p,const void *q); //比较函数
main()
{
char *str[20];
int n=0,k;
while(n<20)
{
str[n]=(char*)malloc(20*sizeof(char));
printf("Please enter a word:");
scanf("%s",str[n]);
if(!strcmp(str[n],"end")) //输入END时结束单词输入
break;
n++;
}
qsort(*str,n,20*sizeof(char),compare);
for(k=0;k<n;k++)
puts(str[k]);
}
int compare(const void *p,const void *q)
{
return strcmp((char*)p,(char*)q);
}