求C语言大神,这个程序为什么会报错啊

2025-02-23 06:01:19
推荐回答(2个)
回答1:

#include 
#include 
#define N 150
#define MAX_LEN 10
void SortString(char ptr[][MAX_LEN],int n);//你的函数声明不对,应该和函数头一模一样
int main()
{    
 char name[N][MAX_LEN];    
 int i,n;    
 printf("How many countries");    
 scanf("%d",&n);    
 getchar();    
 printf("Input their names:\n");    
 for(i=0;i {        
  gets(name[i]);   
 }
 
 SortString(name,n);    
 printf("Sorted results:\n");    
 for(i=0;i {        
  puts(name[i]);   
 }    
 return 0;
}
 
void SortString(char ptr[][MAX_LEN],int n)
{    
 int i,j; 
 char *temp=NULL;    
 for(i=0;i {        
  for(j=i+1;j   {            
   if(strcmp(ptr[j],ptr[i])<0)   
    {                
    strcpy(temp,ptr[i]); //字符串赋值只能用拷贝函数 
    strcpy(ptr[i],ptr[j]); 
    strcpy(ptr[j],temp);                    
   }       
   }   
  }

}

回答2:

声明void SortString(char ptr[][MAX_LEN],int n);
ptr[i]和ptr[j]是常量,常量可以被赋值吗