2 sungaochao sungaochao 于 2014.08.29 20:59 提问

这个程序怎么老是有警告,不能运行!!

#include
#include
int i,j;
int main()
{
void sort(char *name[],int n);
void output(char *name[],int n);
char *name[]={"Follow me","BASIC","Great wall","FORTRAN","Computer design"};
int n=5;
sort(name,n);
output(name,n);
return 0;
}
void sort(char *name[],int n)
{
char *temp;
int k;
for(i=0;i {
k=i;
for(j=i+1;j if(strcpy(name[k],name[j])>0)
k=j;
if(k!=i)
{
temp=name[i];
name[i]=name[k];
name[k]=temp;
}
}
}
void output(char *name[],int n)
{
for(i=0;i<n;i++)
printf("%s\n",name[i]);
}

3个回答

c10234731
c10234731   2014.08.29 23:40

sort这个函数我怎么没看懂写的是什么?for(1=0;i{这个是复制漏了还是?还有for(j=i+1; if这个也确定没错是这么写的?

nmssdmf
nmssdmf   2014.08.30 14:38

在main函数里面调用的sort函数和output函数,没有在main之前声明,在main函数之前加上void sort(char *name[],int n);void output(char *name[],int n);就可以了,你试试

sungaochao
sungaochao   2014.09.01 10:53

其实是if(strcpy(name[k],name[j])>0写错了,字符串比较函数是strcmp(name[k],name[j])>0

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!