单选题
有以下程序:
#include<stdio.h>
void fun(int*s)
{ static int j=0;
do{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++)pfintf("%d", a[k]);
printf("n");
}
程序运行后的输出结果是______。
【正确答案】
D
【答案解析】[解析] 本题考查静态变量,静态变量有储存已经操作过的值,所以fun(a)s[0]=3,s[1]=5,s[2]=7,所以答案选择D。