itgle.com

若有以下的说明和语句: int t[3][3],*pt[3],k; for(k=0;k<3;k++) pt[k]=&t[k][0];则在执行for语句后,*(*(pt+1)+2)表示的数组元素是______。A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]

题目

若有以下的说明和语句: int t[3][3],*pt[3],k; for(k=0;k<3;k++) pt[k]=&t[k][0];则在执行for语句后,*(*(pt+1)+2)表示的数组元素是______。

A.t[2][0]

B.t[2][2]

C.t[1][2]

D.t[2][1]


相似考题
更多“若有以下的说明和语句:int t[3][3],*pt[3],k;for(k=0;k<3;k++) pt[k]=&amp;t[k][0];则在执行for ”相关问题
  • 第1题:

    下列程序的运行结果是( )。 #include<stdio.h> void fun(int*S,int*p) { static int t=3: *p=s[t]; t--; } void main { int a[]={2,3,4,5),k; int x; for(k=0,k<4,k++) { fun(a,&x); printf("%d,",x); } }

    A.5,4,3,2

    B.2,3,4,5

    C.2,2,2,2

    D.5,5,5,5


    正确答案:A
    依据fun函数,可知其要实现的功能是将S中第(t+1)个元素以前的元素逆置赋给数组P。由于fun中函数定义了静态变量t=3,因此,main函数中调用函数fun(a,&x)时,就是要将数组a中前4个元素逆置赋给数x,最后输出x数组。

  • 第2题:

    下列程序的运行结果是( )。

    #include<stdio.h>

    void fun(int*S,int*p)

    { static int t=3:

    *p=s[t];

    t--;

    }

    void main

    { int a[]={2,3,4,5),k;

    int x;

    for(k=0,k<4,k++)

    { fun(a,&x);

    printf("%d,",x);

    }

    }

    A.A.5,4,3,2

    B.2,3,4,5

    C.2,2,2,2

    D.5,5,5,5


    正确答案:A
    依据fun函数,可知其要实现的功能是将S中第(t+1)个元素以前的元素逆置赋给数组P。由于fun中函数定义了静态变量t=3,因此,main函数中调用函数fun(a,&x)时,就是要将数组a中前4个元素逆置赋给数x,最后输出x数组。

  • 第3题:

    若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是 int t[3][3], *pt([3], k; for (k=0;k<3;k++) pt[k]=&t[k][0];>

    A.t[2][0]

    B.t[2][2]

    C.t[l][2]

    D.t[2][l]


    C 从for循环可知,pt是指向行的首地址的指针变量,因此由指针的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。

  • 第4题:

    若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是( )。 int t[3][3],*Pt[3],k; for(k=0;k<3;k++) pt[k]=&t[k][0];

    A.t[2][0]

    B.t[2][2]

    C.t[1][2]

    D.t[2][1]


    正确答案:C
    解析:本题考查通过指针引用数组元素。*(*(pt+1)+2)等价于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。

  • 第5题:

    若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是______。 int t[3][3], *pt[3], k; for(k=0; k<3 k++) pt[k]=&t[k][0]

    A.t[2][0]

    B.t[2][2]

    C.t[1][2]

    D.t[2][1]


    正确答案:C