有以下程序 #include void fun(int *x,int s,int e) { int i,j,t; for(i=s,j=e; i

admin2019-08-10  25

问题 有以下程序
#include
void fun(int *x,int s,int e)
{ int i,j,t;
for(i=s,j=e; i{ t=*(x+i); *(x+i)=*(x+j); *(x+j)=t;}
}
main()
{ int m[]={0,1,2,3,4,5,6,7,8,9},k;
fun(m,0,3); fun(m+4,0,5); fun(m,0,9);
for(k=0; k<10;k++)
printf("%d",m[k]);
}
程序的运行结果是( )。

选项 A、4567890123
B、3210987654
C、9876543210
D、0987651234

答案A

解析 函数fun()的功能是将数组x中下标为s和e之间的元素逆序,所以调用函数fun(m,0,3)后,m={3,2,1,0,4,5,6,7,8,9};调用函数fun(m+4,0,5)后,m={3,2,1,0,9,8,7,6,5,4};调用函数fun(m,0,9)后,m={4,5,6,7,8,9,0,1,2,3}。答案选A。
转载请注明原文地址:https://kaotiyun.com/show/qrRp777K
0

最新回复(0)