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

admin2013-10-15  12

问题 有下列程序:
  #include
  int b=2:
  int fun(int*k)
  {  b=*k+b;return(b);}
  void 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

解析 在程序中子函数fun(int*k)的作用是给静态全局变量加上形参*k的值。在主函数中进行第一次for循环执行时,fun(&a[2])的返回值为5,所以5+5=10,因而输出结果为10,第二次for循环执行时,fun(&a[3])的返回值为14,所以14+14=28。
转载请注明原文地址:https://jikaoti.com/ti/3TXiFFFM
0

最新回复(0)