关于#while#的问题,如何解决?求解析

#include <stdio.h>
void FUN(int S[])
{
static int J=0;
do
{
S[J]+=S[J+1];
}
while(++J<2);
}
main()
{
int K,A[10]={1,2,3,4,5};
for(K=1;K<3;K++)
FUN(A);
for(K=0;K<5;K++)
printf("%d",A[K]);
}
答案为什么是35745呀?7是怎么来的?

for(K=1;K<3;K++)中
K=1 FUN(A)中J=0开始,函数中把A[0],A[1]的值与它后面的值相加。
K=2 FUN(A)中J=2开始,函数中把A[2]的值与它后面的值相加。A[2]=A[2]+A[3]=3+4=7