单选题
有下列程序:
#include<stdio.h>
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[i])+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。
提交答案
关闭