编译没有问题,结果数字很大,找不到问题所在

#include<stdio.h>
void main()
{
int a[5];int i,j,t;
printf("输入五个数字:\n");
i=0;
while(i<5)
{scanf("&d",&a[i]);
printf("\n");
i++;}
j=0;
while(j<4)
{i=0;
while(i<4)
{if (a[i]>a[i-1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
i++;}
j++;
}
i=0;
while(i<5)
{printf("%d",a[i]);
printf("\n");
i++;}
}

img

{scanf("&d",&a[i]);不是&d是%d,&d是取地址,%d是以整型输入/输出

一定是哪里有bug