有以下程序: #include<stdio.h> void fun(int*s,int n1,int n2) { int i,j,t; i_nl;j=n2; while(i<j) { t=s[

admin2021-04-28  25

问题 有以下程序:
    #include<stdio.h>
    void fun(int*s,int n1,int n2)
    {
    int i,j,t;
    i_nl;j=n2;
    while(i<j)
    {
    t=s;s=s[j];s[j]=t;i++;j--;
    }
    }
    main()
    {
    int a[10]={1,2,3,4,5,6,7,8,9,0},k;
    fun(a,0,3);fun(a,4,9);fun(a,0,9);
    for(k=0;k<10;k++)
    printf(’’%d’’,a[k]);
    printf(’’\n’’);
    }
    程序运行后的输出结果是(    )。

选项 A、1,1,2,6,
B、6,2,1,l,
C、6,4,3,2,
D、2,3,4,6,

答案C

解析 首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for嵌套循环语句和if条件语句,对二维数组对角线元素进行由大到小的排序操作,程序最后通过for语句输出二维数组第1行的4个元素。因此C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/Ymz0FFFM
0

最新回复(0)