问题 单项选择题

以下程序的输出结果是 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 ( ) { 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

答案

参考答案:A

解析: 本题考核的知识点是数组名作为函数参数的应用.在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为所选。

单项选择题
多项选择题