有以下程序 #include void fun(int *a, int n) /* fun函数的功能是将a所指数组元素从大到小排序 */ { int t, i, j; for (i=0; i

admin2015-07-28  39

问题 有以下程序
#include
void fun(int *a, int n) /* fun函数的功能是将a所指数组元素从大到小排序 */
{ int t, i, j;
for (i=0; ifor (j=i+1; jif (a; a=a[j]; a[j]=t; }
}
main()
{ int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4, 6);
for (i=0;i<10; i++) printf("%d,", c);
printf("\n");
}
程序的运行结果是( )。

选项 A、1,2,3,4,9,8,7,6,5,0,
B、0,9,8,7,6,5,1,2,3,4,
C、0,9,8,7,6,5,4,3,2,1,
D、1,2,3,4,5,6,7,8,9,0,

答案A

解析 考查数组名作为函数参数。数组名作为函数参数属于地址传参,形参和实参为同一数组,变化同步。数组名可以看做一个指针常量,对其进行自加自减运算相当于指针变量的自加自减,所以传递给函数fun()的参数是数组第五个元素的地址,调用函数fun()结束后,数组后6位数字按照从大到小排列,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/gOJp777K
0

最新回复(0)