[求助]这个程序错在什么地方了?为什么会出不来正确结果?
输入五个国家的名称按字母顺序排列输出。
下面是我的程序:
#include <stdio.h>
#include <conio.h>
main()
{
char *p[5],*temp;
int i,j,k;
clrscr();
printf("Input the data:\n");
for(i=0;i<5;i++)
scanf("%s",p[i]);
getch();
for(i=0;i<4;i++)
{
k=i;
for(j=i+1;j<5;j++)
if(*p[k]>*p[j])
k=j;
temp=p[i];p[i]=p[k];p[k]=temp;
}
for(i=0;i<5;i++)
printf("%s\n",p[i]);
}
我输入:china american japan french england
结果输出:american england french french japan
为什么会出现这样的问题?