设有如下结构体的定义,则下列对结构体成员输出的语句错误的是()。 struct Student { int num; char name c[20]; }stu1,stu2,a[3],*p1,*p2; p1 = &stu1; p2 = a;
A. printf (“%d”,p1.num);
B. printf (“%s”,(*p1).name);
C. printf (“%d”,(p2+1)->num);
D. printf (“%s”,a[1].name);
查看答案
设有如下结构体的定义,则下列对结构体成员赋值的语句正确的是()。 struct Student { int num; char name[20]; }stu1,stu2,a[3];
A. scanf(“%d”,stu1.num);
B. scanf(“%s”,&stu1.name);
C. sacnf(“%d”,a[1].num);
D. sacnf(“%s”,a[1].name);
设有如下定义,则说法正确的是()。 union Data {int i;float b;char c;}data;
A. 共用体成员i,b,c,共用同一段内存因此共用体类型所占存储空间长度不定
B. data是一个共用体变量名,Data是一个共用体类型名
C. 语句data = 20;代表给共用体赋值
D. 经过i = 97;c =‘b’;语句后,共用体中变量data的值改变为98;
以下程序段运行结果()。 enum color {red, blue = -3, yellow, green};enum color cr = green;printf("%d\n",cr);
A. green
B. -1
C. 1
D. 不确定
以下程序中所定义的结构体所占的内存的大小是 ()。 #include "stdio.h" int main( ) { struct tp { char name[10]; int num; union { float data; double score[3]; }da; }; }
A. 10字节
B. 24字节
C. 38字节
D. 40字节