以下程序的输出结果是 f(int b[] ,int m, int n) { int i,s=0; for (i=m; i<n; i=i+2) s=s+b [i]; return s; } main

admin2009-01-15  35

问题 以下程序的输出结果是   f(int  b[] ,int  m, int  n)    {  int i,s=0;        for (i=m; i<n; i=i+2)  s=s+b ;       return   s;    }   main ( )    {  int  x,a[]={1,2,3,4,5,6,7,8,9};       x=f(a,3,7);       printf ( "%d\n", x);    }

选项 A、10
B、18
C、8
D、15

答案1

解析 本题考核的知识点是数组名作为函数参数的应用.在malii()函数中定义了一个变量x,以及一个有9个元素的数组a,并且每个元素分别赋初值为1、2、3、4、5、6、7、8和 9.执行函数调用f(a,3,7),把a的首地址赋给形参b,把3和7分别赋给形参m和n。在f()函数中,for循环执行了2次:第一次,i的值为3,相当于执行 7语句“s=s+b[3]”,br3J的值就是a[3]的值4,故s的值变为4;第二次,i值为5,相当于执行了语句“s=s+b[5];”,b[5]的值6,故s的值变为10。把 s作为函数值返回并赋值给x。所以,4个选项中A为所选。
转载请注明原文地址:https://kaotiyun.com/show/mIXp777K
0

最新回复(0)