利用数组实现两个五十位的十进制正数相加

img
循环体: for(j=0;j<sNumber;j++)
{
sum[j]=(a[j]+b[j]+c)%10;
c=(a[j]+b[j]+c)/10;
}
不太懂这个循环体
为什么循环中a【j】+b【j】后还要+c 再和10取余呢?

因为高位两个数相加之后还要加上低位多出来的进位,比如35+27,从低位开始运算,5+7=12,12%10=2,也就是倒数第一位值为2,进位12/10=1,接着3+2+1(倒数第一位运算时产生的进位)=6,6%10=6,所以倒数第二位值为6,没有进位,所以最终结果为62