首页 > 电脑

请问这个程序哪里有问题?

更新时间2018-04-13 18:11:24

请问这个程序哪里有问题?


#include<stdio.h>

#include<string.h>

#define N 150

#define MAX_LEN 10

void SortString(char *ptr[],int n);

int main()

{

int i,n;

char name[N][MAX_LEN];

char *pstr[N];

printf("how many countries?");

scanf("%d",&n);

getchar();

printf("Input their names: ");

for(i=0;i<n;i++)

{

pstr[i]=name[i];

//scanf("%s",ptr[i]);

gets(pstr[i]);

}

SortString(pstr,n);

printf("Sorted resulted: ");

for(i=0;i<n;i++)

{

puts(pstr[i]);

}

return 0;

 } 

void SortString(char *ptr[],int n)

{

int i,j;

char *temp=NULL;

for(i=0;i<n-1;i++)

{

for(j=i+1;j<n;j++)

{

if(strcmp(ptr[j],ptr[i])<0)

temp=ptr[i];

ptr[i]=ptr[j];

ptr[j]=temp;

}

}

}


你的排序中的判断有问题,正确的

if(strcmp(ptr[j],ptr[i])<0)

{  ///少了一对{}了

temp=ptr[i];

ptr[i]=ptr[j];

ptr[j]=temp;

 } //到这里

上一篇:hmt325s6bfr8ch9与海力士DDR42400MHz兼容吗

下一篇:我这个电脑配置现在装win10打LOL守望之类的游戏会卡吗