问题 单项选择题

以下程序中函数reverse 的功能是将a所指数组中的内容进行逆置。
void reverse(int a [ ], int n) int i, t;
for(i=0;i<n/2;i++)
t=a[i]; a[i] =a[n-1-i];a[n-1-i]=t; main() int b[10]=1,2,3,4,5,6,7,8,9,10; int i, s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf("%d\n", s); 程序运行后的输出结果是

A.22

B.10

C.34

D.30

答案

参考答案:A

解析: 本题考查的知识点是数组名作为函数参数及函数调用。reverse()数的功能是将具有n个元素的数组a反序存放。在主函数中调用语句是“reverse(b,8);”,实现的功能是把b数组的前八个元素逆置,所以b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for循环了4次,分别把b[6]、b[7]、b[8]和b[9]的值(分别是2、1、9、10)加到了s中,s的结果是22,所以最后输出的s值为22。所以4个选项中A正确。

单项选择题
填空题 案例分析题