问题
单项选择题
以下程序中函数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-1]; 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时。实参为b和8,即reverse函数的功能是将数组b中的前8个元素逆置,其余元素不变。因此函数调用结束后数组b的内容为:8、7,6、5、4、3、2、1、9、10。main函数中for循环语句的功能是求b[6]元素到b[9]元素的和,即s=b[6]+b[7]+b[8]+b[9]=2+1+9+10=22,因此printf语句的输出结果是22。