问题
单项选择题
请阅读以下程序: #include<stdio.h> #include<string.h> void fun(int b[]) { static int i=0; do {b[i]+=b[i+1]; }while(++i<2);} main() { int k,a[5]={1,3,5,4,9}; fun(a); for(k=0;k<5;k++)printf("%d",a[k]);} 上面程序的输出是( )。
A.13579
B.48579
C.48549
D.48999
答案
参考答案:C
解析: 本题考查的是for循环以及while循环。fun函数中定义了静态变量i=0,fun(a)使得a[0]=a[0]+a[1]=4,a[1]=a[1]+a[2]=8,此时i的值变为1,++i<2不成立,所以do-while循环结束,输出数组a的各元素即得到48549。