关于数组的小问题,赋值和转换

#include <stdio.h>
main()
{ int a[3],i,b[3],j;
for(i=0;i<3;i++)
scanf("%d",&a[i]);

for(j=0;j<3;j++)
{b[j]=a[i];
printf("%d\n",b[j]);
}
}
为什么赋值和输出不同,是哪里出了问题呢

改为b[j]=a[j]就行了 不是a[i]