以下程序中函数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[

admin2013-06-11  28

问题 以下程序中函数reverse 的功能是将a所指数组中的内容进行逆置。 void reverse(int a [ ], int n){   int i, t;   for(i=0;i<n/2;i++)   {t=a; a =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;   printf("%d\n", s);}     程序运行后的输出结果是

选项 A、22
B、10
C、34
D、30

答案1

解析 本题考查的知识点是数组名作为函数参数及函数调用。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正确。
转载请注明原文地址:https://kaotiyun.com/show/xAJp777K
0

最新回复(0)