【作业6】结构体

三、预习检查:选择正确答案,并简要说明为什么?

1)  下面定义结构变量的语句中错误的是 _B__,为什么? 答:应该是没有名字

A.struct student{ int num; char name[20]; } s;

B.struct { int num; char name[20]; } stu ;

C.struct student{ int num; char name[20]; }; struct student s;

D.struct student{ int num; char name[20]; }; struct stu s;

2) struct { int x, y; } s[2] = { { 1, 3 }, { 2, 7 } }; 则语句:printf(“%d ”, s[0].y/s[1].x ); 输出结果是 ___, 为什么? 

          A.0        B.1          C.2         D.3

      3) 分析下面的程序片段,能打印出字母 M 的语句是 ___, 为什么?。         

struct person{char name[10];int age; } c[10] = { “John”, 17, “Paul”, 19, “Mary”, 18, “Adam”, 16 };

A.printf(“%c”, c[3].name); B.printf(“%c”, c[3].name[1]); C.printf(“%c”, c[2].name[0]); D.printf(“%c”, c[2].name[1]);

      4) 设有如下定义,则对 data 中的 a 成员的正确引用是 _C__, 为什么?           书上说用指针运算符访问指针指向的结构成员:p->num=101;

 struct sk{ int a; float b; } data, *p=&data;        

  A.(*p).data.a       B.(*p).a    C.p->data.a        D.p.data.a 

原文地址:https://www.cnblogs.com/ly1102385159/p/3434449.html