请阅读以下程序: #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,

admin2021-06-15  31

问题 请阅读以下程序:
#include<stdio.h>
#include<string.h>
void fun(int b[])
{static int i=0;
Do{b+=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,af[1]=a[1]+a[2]=8,此时i的值变为1,++i<2不成立,所以do-while循环结束,输出数组a的各元素即得到48549。
转载请注明原文地址:https://kaotiyun.com/show/GMtp777K
0

最新回复(0)