C语言最简单你的冒泡排序,数组输入输出就错了。。。。

#include
#include
#define arraysize 5 //5个数字
int main()
{
int i,a,num;
num=arraysize;
int array[arraysize];

memset(array,'\0',sizeof(int)*arraysize);
void BobbleSort(int array[],int n);
while(num--)
{
    scanf("%d",&a);
    array[i]=a;
}

 for(i=0;i<arraysize;i++)    //这个!!!for循环输出的数组为什么不是输入的数组值??? 
 {
    printf("%d ",array[i]);
 }

 BobbleSort(array,arraysize);
return 0;

}

void BobbleSort(int array[],int n)
{

int i,j,temp;

/*
for(i=0;i<arraysize;i++) //求数组长度
{
printf("!!!%d\n",*(array++));
if(array[i]!='\0')
{
n++;
}
else
break;

 }
 printf("--%d\n",n);

*/

for(i=n-1;i>0;i--) //冒泡排序 
{
    for(j=0;j<i;j++)
    {
        if(array[j+1]>array[j])
        {
            temp=array[j];
            array[j]=array[j+1];
            array[j+1]=temp;
         }
     }
 }
 for(i=0;i<n;i++)
 {
    printf("%d ",array[i]);
 }

}


arrayp[i] = a; i值呢

变量i没有赋初始值。

array[i]=a; i 没有初始化的数值
另外,i 没有加1 ,每次 array[i]=a; 赋值都赋给同一个下标了

就是啊,while循环里i的值都没给啊

i没有初始值啊,哥们