单选题 以下程序中函数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正确。