有以下程序: #include int b=2; int fun(int*k、 { b=*k+b: return(b); } main() { int a[10]={1,2,3,4,5,6

admin2017-01-11  1

问题 有以下程序:
    #include
    int b=2;
    int fun(int*k、
    {  b=*k+b:
    return(b);
    }
    main()
    {  int a[10]={1,2,3,4,5,6,7,8},i;
    for(i=2;i<4;i++){b=fun(&a)+b;printf("%d",b);}
    printf("\n’);
    }
    程序运行后的输出结果是(    )。

选项 A、10  12
B、8  10
C、10  28
D、10  16

答案C

解析 因为b是全局变量,所以它的值在整个程序结束时才会消失。for循环中,第一次循环,i-2,a[2]=3,所以fun(&a)=3+2=5,b=5,所以b=fun (&a)+b=5+5=10;第二次循环,b=10,然后fun(&a)代入a[3]=4,这时fun(&a)=10+4=14,所以b=fun(&a)+b=14+14=28。
转载请注明原文地址:https://kaotiyun.com/show/srID777K
0

相关试题推荐
最新回复(0)