itgle.com

若有以下程序段: struct st {int n; int*m;}; int a=2,b=3,c=5; struct st s[3]=({101,&a},{102,&c},{103,&b}}; main() {struct st*p; p=s; …} 则以下表达式中值为5的是( )。A.(p++)->mB.*(p++)->mC.(*p).mD.*(++p)->m

题目

若有以下程序段: struct st {int n; int*m;}; int a=2,b=3,c=5; struct st s[3]=({101,&a},{102,&c},{103,&b}}; main() {struct st*p; p=s; …} 则以下表达式中值为5的是( )。

A.(p++)->m

B.*(p++)->m

C.(*p).m

D.*(++p)->m


相似考题
更多“若有以下程序段:struct st{int n;int*m;};int a=2,b=3,c=5;struct st s[3]=({101,&a},{102,& ”相关问题
  • 第1题:

    有以下程序:includevoid fun(int* s,int* * d){* *d=*(s+2);}main(){ inta[]={1,2,3,

    有以下程序: #include <stdlib.h> void fun(int * s,int * * d) { * *d=*(s+2); } main() { int a[]={1,2,3,4,5},*b; b=(int *)malloc(sizeof(int)); fun(a,&B) ; printf("%d\n",*b+1); } 程序的输出结果是( )

    A.2

    B.3

    C.4

    D.5


    正确答案:C

  • 第2题:

    6、有以下程序段: int a=1,b=2,c=3; struct dent { int n ; int *m; } s[3] = {{101,&a}, {102,&b},{103,&c}}; struct dent *p=s; 则以下表达式中值为2的是()。

    A.(p++)->m

    B.*(p++)->m

    C.(*p).m

    D.*((p)->m)


    *(++p)->m

  • 第3题:

    若有以下程序段,则以下表达式中值为2的是()。struct dent { int no; int *m; }; int a=1,b=2,c=3; struct dent s[3]={{101,&a},{102,&b},{103,&c}}; int main() { struct dent *p; p=s; … }

    A.(p++)->m

    B.* (p++)->m

    C.(*p).m

    D.*(p)->m


    编译不通过

  • 第4题:

    有以下程序段: int a=1,b=2,c=3; struct dent { int n ; int *m; } s[3] = {{101,&a}, {102,&b},{103,&c}}; struct dent *p=s; 则以下表达式中值为2的是()。

    A.(p++)->m

    B.*(p++)->m

    C.(*p).m

    D.*((p)->m)


    B 解析:b+=a;等价于b=b+a;a+=2;等价于a=a+2;b%=10;等价于b=b%10;循环体执行3次。最终,结果为7,1。

  • 第5题:

    3、若有说明int *p, m=5, n;以下正确的程序段是____________。

    A.p=&n; scanf("%d", &p);

    B.p=&n; scanf("%d", *p);

    C.scanf("%d", &n); *p=n;

    D.p=&n; *p=m;


    D 本题考查数组指针的使用。本题中,int(*pt)[3];定义了一个名为pt的指针变量,它可以指向每行有3个整型元素的二维数组。故选D。