这是我给你修改后的,运行后正确,下面给你指出错误:
#include<stdio.h>
void main()
{
void sp(int x[],int n);
int a[3],i,*p;
p=a;
for(i=0;i<3;i++)
scanf("%d",(p+i));
sp(p,3);
for(i=0;i<3;i++)
{
printf("%d ",*(p+i));
}
getchar();
}
void sp(int x[],int n)
{
int i,j,t;
for(j=0;j<n-1;j++)//一共比较两趟
for(i=0;i<n-j-1;i++)//这是每比一趟的比较次数
{
if(x[i]<x[i+1])
{
t=x[i];
x[i]=x[i+1];
x[i+1]=t;
}
}
你的程序中循环的毛病我给你改了,你再看一下