柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序 #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[i])+b; printf("%d ",b);} printf("\n"); } 程序运行后的输出结果是


  • A.8 10
  • B.10 28
  • C.10 12
  • D.10 16
热度🔥585
参考答案:B
解析:

【解析】主函数中循环执行2次,fun函数被调用2次。b是全局变量,整个程序均可使用。第1次调用:fun(&a[2]),形参指针k获得a[2]的地址,则*k为a[2]的值。返回值:b=a[2]+2=3+2=5;主程序中:b=fun(&a[2])+b=5+5=10;第2次调用:fun(&a[3]),返回值:b=4+10=14;主程序中:b=fun(&a[3])+b=14+14=28。因此B选项正确。
复制题目向AI提问