以下程序中函数reverse的功能是对a所指数组中的内容进行逆置。 void reverse(int a[], int n) { int i, t; for(i=0; i<n/2; i++) {t=a[i];

admin2010-09-05  23

问题 以下程序中函数reverse的功能是对a所指数组中的内容进行逆置。    void reverse(int a[], int n)    { int i, t;        for(i=0; i<n/2; i++)            {t=a; a=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;        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。
转载请注明原文地址:https://kaotiyun.com/show/luWp777K
0

最新回复(0)