若有以下程序段:struct note{ int n;int *pn;};int a=1,b=2,c=3;struct notes[3]={{1001,&a},{1002,&b},{1003,&c}};struct note *p=s;则以下表达式中值为2的是( )
A. (p++)->pn
B. *(p++)->pn
C. (*p).pn
D. *(++p)->pn
查看答案
若已经定义:structstu { int a, b; } student ;则下列输入语句中正确的是( )
A. scanf("%d",&a);
B. scanf("%d",&student);
C. scanf("%d",&stu.a);
D. scanf("%d",&student.a);
有如下定义:struct person {char name[9];int age;};struct personclass[10]={ "John",17, "Paul",19, "Mary",18,"Jack",19};根据上述定义,能输出字母M的语句是( )
A. printf("%c\n",class[3].name);
B. printf("%c\n",class[3].name[1]);
C. printf("%c\n",class[2].name[1]);
D. printf("%c\n",class[2].name[0]);
设有以下定义:struct student{int a;float b;}stu;则结构体类型的关键字是________,用户定义的结构体类型名是________,用户定义的结构体变量是________。
在程序的横线上填入适当的内容使程序能输出结构体变量stu所占内存字节数。struct student{double num;char name[20];};int main(){struct studentstu;printf("stu size:%d\n",________);return 0;}