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

admin2010-01-10  21

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

最新回复(0)