有以下程序 #include void fun(int *x,int s,int n) { int i; for(i=s; i>=n; i--) *(x+i+3) = *(x+i); } main() { int m[]={0,1,2,3,4,5,6,7

admin2019-08-10  31

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

选项 A、0123453456
B、0123456345
C、0123456666
D、0123454569

答案A

解析 函数fun()的功能是将数组x下标为n+3至s+3的元素被下标为n到s的元素覆盖,所以调用函数fun(m,10-4,3);结束后数组m中第7到10个元素被数组m的第4到7个元素覆盖,数组中的元素为{0,1,2,3,4,5,3,4,5,6},答案选A。
转载请注明原文地址:https://kaotiyun.com/show/8rRp777K
0

最新回复(0)