请阅读以下程序: #include #include void fun(int b[]) { static int i=0; do {b[i]+=b[i+1]; }while(++i

admin2021-07-09  22

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

最新回复(0)