有以下程序: #include void fun(int*x,int s,int n) {int i; for(i=s;i>=n;i--) *(x+i+3)=*(x+i); } main()

admin2021-07-09  12

问题 有以下程序:
    #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、0123456345
B、0123453456
C、0123456666
D、0123454569

答案B

解析 程序的执行过程为:定义数组m,并为其赋初值,数组长度为10。调用函数fun(m,6,3)实现将数组下标值从6到3的元素依次向下标值大的方向移动三个位置,for循环结束之后数组为m={0,1,2,3,4,5,3,4,5,6}。依次输出数组元素,结果为0123453456。
转载请注明原文地址:https://jikaoti.com/ti/x4z0FFFM
0

最新回复(0)