你需要把main()函数里面的
Sort(a[10]);
修改为:
Sort(a);
原因是此处调用函数,需要将数组a的首地址传进去,直接写a即可
需要注意,声明数组时才在中括号加数字,表示数组的最大元素数,其他的任何地方都表示索引,比如你写的a[10],表示a的第10个元素
Sorrt(a[10]);
改成
Sorrt(a);
#include <stdio.h>
void sort(int a[])
{
int i,j,t;
for(i=0;i<9;i++)
{ //每次会将最大(升序)或最小(降序)放到最后面
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])//每次冒泡,进行交换
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int i;
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
Sort(a);
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!