问题 单项选择题

以下程序中函数reverse的功能是将a所指数组中的内容进行逆置:
void reverse(int a[ ],int n)
int i,t;
for(i=0;i<n/2l;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数组的前8个元素逆置,所以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正确。

单项选择题
单项选择题