语法错误 : 缺少";"(在"类型"的前面)

这是我的源代码,求大神帮着改错
#include <stdio.h>
int sort(int array[],int n)
{
int i,j,temp;
for(i=1;i < n;i++)
{
for(j=n-1;j >=1;j--)
{
if(array[j] < array[j-1])
{
temp=array[j-1];
array[j-1]=array[j];
array[j]=temp;
}
}
}
}
main()
{
int a[10];
int sort(int array[],int n);
for(int i=1;i <= 10;i++)
scanf("%d ",a[i]);
sort(a,10);
for(int i=1;i <= 10;i++)
printf("%5d",a[i]);
}
c语言的冒泡排序

函数定义没问题,main函数有问题, 不止一个:
1、别再for循环中定义i,放到外面
2、for循环应该是 for(i=0;i < 10;i++)而不是for(int i=1;i <= 10;i++)
3、scanf语句中应该是&(a[i]) 而不是 a[i]
4、scanf语句中应该是"%d"而不是"%d ",里面不要空格!!!

建议如下,我运行没问题
main()
{
int a[10];
int i;
int sort(int array[],int n);
for(i=0;i < 10;i++)
scanf("%d",&(a[i]) );
sort(a,10);
for(i=0;i < 10;i++)
printf("%5d",a[i]);
}

PS:关于C语言你还有很多基础的东西要搞懂。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-27
scanf("%d ",a[i]);
改为
scanf("%d ",&a[i]);
然后c99编译环境下正确编译
相似回答
大家正在搜