有以下程序 #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

admin2015-07-28  19

问题 有以下程序
#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 28
B、8 10
C、10 12
D、10 16

答案A

解析 函数fun()的功能是用b累加传入的参数值*k,主函数中第一次执行语句"b=fun(&a)+b;"时,调用函数fun(&a[2])的返回值为5,全局变量b=5,主函数中计算全局变量b=5+5=10,输出第一个结果为10;第二次执行语句"b=fun(&a)+b;"调用函数fun(&a[3]),被调函数返回值为4+10=14,全局变量b=14,所以主函数中计算b=14+14=28,输出的第二个结果为28,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/NzDp777K
0

最新回复(0)