定义 struct{int n;
char y[5];
}tab[2]={{1,"ab"},{2,"cd"}},
*p=tab;
则表达式:printf("%s\n",p->y);的结果为ab。
char y[5];
}tab[2]={{1,"ab"},{2,"cd"}},
*p=tab;
则表达式:printf("%s\n",p->y);的结果为ab。
举一反三
- 有如下定义:struct {int x; char *y;}tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则:表达式 *p->y的结果是( ① ) 。表达式 *(++p)->y的结果是( ② ) 。
- struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则表达式*p->;y的结果为____(1)___,表达式*(++p)->;y的结果为__(2)____。
- 有如下定义:struct {int x;char *y;}tab[2]={{1,"ab"},{2,"cd"}}, *p=tab;则:表达式 *p->;y的结果是( ① ) 。表达式 *(++p)->;y的结果是( ② ) 。
- 下程序的运行结果是:____,____,____。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);}
- struct {int x; char *y;}tab={1,"ab"},*p=tab; 则:表达式p->;x的结果为【1】。