根据下面的定义,能打印出字母M的语句是structperson{charname[9];intage;};structpersonclass[10]={"John",17,"Paul",19,"Mary"18,"adam",16};
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]);
若有以下定义和语句structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};main(){structstudent*p;p=stu;……}则以下不正确的引用是
A. (p++)->num
B. p++
C. (*p).num
D. p=&stu.age
若有以下定义语句uniondata{intl;charc;floatf;}a;intn;则以下语句正确的是
A. a=5;
B. a={2,‘a‘,1,2};
C. printf("%d\n"a);
D. n=a;
下面对typedef的叙述中不正确的是
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新类型
C. 用typedef只是将已存在的类型用一个新的标识符来代表
D. 使用typedef有利用程序的通用移值