输入一个一维数组,元素个数为 k,k 的值在运行过程中输入,但下面的程序有一个错,应该怎么改?谢谢
#include<stdio.h>void fun(int *a,int n) /*定义一个函数*/
{
int i,j,temp; /*定义局部变量*/
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(*(a+i)>*(a+j))
{
temp=*(a+i);
*(a+i)=*(a+j);
*(a+j)=temp;
} /*从小到大排序*/
}
}
void main()
{
int k,i; /**/
printf("你要排序的数组元素的个数K:");
scanf("%d\n",&k);
int b[k]; /*为什么这里是错的,k要赋予定值*/
for(i=0;i<k;i++)
scanf("%d",&b[i]);
fun(&b[0],k); /*调用函数*/
for(i=0;i<5;i++)
printf("%5d",b[i]);
}