为什么输入二进制 11111 11111时输出是00000

#include<stdio.h>
int main()
{
int n;
printf("输入多少进制\n");
scanf("%d",&n);
printf("输入两个整数\n");
int a[5],b[5],c[6];
int sum[5]={0,0,0,0,0};
for(int i=5;i>0;i--)
{
scanf("%d",&a[i]);

}
    for(int i=5;i>0;i--)
{
    scanf("%d",&b[i]); 
}
c[i]=a[i]+b[i]; 
int d=0;
for(int i=5;i>0;i--)
{
        

if(c[i]+sum[i]>=n)

c[i]=c[i]+sum[i]-n;
sum[i-1]=1
if(c[i]+sum[i]<n)

c[i]=c[i]+sum[i];
sum[i-1]=0;
}
for(int i=5;i>0;i--)
{
printf("%d",c[i]);
}
return 0;
}

因为你用的是scanf %d,如果你直接输入连着的五个1,则都会被存入a[4]中
而且你这里是越界的

img