若有定义如下,则表达式*(++p)->pa的值是( )。struct{ int m;char *pa;}test[2]={{10,"ab"},{20,"cd"}},*p=test;
A: ‘d’
B: ‘c’
C: ‘b’
D: ’a’
A: ‘d’
B: ‘c’
C: ‘b’
D: ’a’
B
举一反三
- 有如下定义:struct {int x; char *y;}tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则:表达式 *p->y的结果是( ① ) 。表达式 *(++p)->y的结果是( ② ) 。
- 有如下定义: struct { int x; char *y; }sa[2]={{1,"ab"},{2,"cd"}},*p=sa; 则:表达式 ++p->x 的值是 。
- 中国大学MOOC: 有如下定义: struct { int x; char *y; }sa[2]={{1,ab},{2,cd}},*p=sa; 则:表达式 (p+1)->x 的值是 。
- 中国大学MOOC: 有如下定义: struct { int x; char *y; }sa[2]={{1,ab},{2,cd}},*p=sa; 则:表达式 ++p->x 的值是 。
- 有如下定义:struct {int x;char *y;}tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则:表达式 *p->;y的结果是( ① ) 。表达式 *(++p)->;y的结果是( ② ) 。
内容
- 0
struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则表达式*p->;y的结果为____(1)___,表达式*(++p)->;y的结果为__(2)____。
- 1
定义 struct{int n;<br/>char y[5];<br/>}tab[2]={{1,"ab"},{2,"cd"}}, <br/>*p=tab;<br/>则表达式:printf("%s\n",p->y);的结果为ab。
- 2
若有如下定义语句:int a,b=0,*pa=&a;,则下面语句中与a=b;等价的语句是( )。 A: *pa=*&b; B: a=*pa; C: a=&b; D: a=**p;
- 3
若有定义char a=‘\10',*pa=&a;则sizeof(pa)的值为 。 A: 1 B: 2 C: 4 D: 8
- 4
下程序的运行结果是:____,____,____。struct atype{ int m;char *pn;}tab[2]={{1,"ab"},{2,"cd"}},*p=tab;void main(){ printf("%d",tab[1].m);printf("%c",*p->pn);printf("%c",*(++p)->pn);}