请问编程高手们帮帮我解释一下下面的C语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/28 13:18:53
#include<stdio.h>
void FUN(int S[])
{static int J=0;
do
{
S[J]+=S[J+1];s[j]=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

关键是 Static int J。
结果就是 A[0]=1+2=3;A[1]=2+3=5 A[2]=3+7=7。然后J==2。不再改变,While不会循环。结果就只有A[0]A[1]A[2]变成357,A[4]A[5]不变还是4、5后面没有。输出 就是
35745