请教这个程序对不对,哪里错了
#include "stdio.h"
int*sort(int*p,int n);
int main()
{
int i,a[4],j;
for (i=0;i<=4;i++)
scanf ("%d",a[i]);
sort(a,4);
for(int j=0;j<4;j++)
printf("%d",p[j]);
return 0;
}
int*sort(int*p, int n)
{
int pt;
for(int i<0;i<4;i++)
for(int j j=i;j<3;j++)
{
if(p[i]<p[j])
{pt=p[i];
p[i]=p[j];
p[j]=pt;
}
}
return p;
}
首先,我不知道你的编译器默认使用的是不是老的C标准,如果是老的标准,那么变量要遵循先定义后使用的原则,你的程序中就没有达标;另外还有一些函数的使用存在问题,比如说scanf()
你对比一下吧,认真思考、体会
#include "stdio.h"
int*sort(int*p,int n);
int main()
{
int i,a[4],j;
for (i=0;i<4;i++)
scanf ("%d",&a[i]);
sort(a,4);
for(j=0;j<4;j++)
printf("%d ",a[j]);
return 0;
}
int*sort(int*p, int n)
{
int pt,i,j;
for( i=0;i<4;i++)
{
for(j=i;j<3;j++)
{
if(p[i]<p[j])
{
pt=p[i];
p[i]=p[j];
p[j]=pt;
}
}
}
return p;
}
同意
追答呵呵,我准备写时,他已经写好了,不错,C语言怪好玩的!
祝你顺利!