有以下定义和语句: struct workers {int num;char name[20];char C; struct {int day;int
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
A.structstudentstu[2]={1,"zhangsan",2,"lisi"}
B. struct student stu[2]={1, "zhangsan",2,"li si"}
C. struct student stu[2]={{1,"zhangsan"},{2,"li si"}};
D. struct stu[]={{1,"zhangsan"},{2,"li si"}}
A.a.next=q;
B.p.next=&b;
C.p->next=&b;
D.(*p).next=q;
有以下结构体说明和变量定义,如图所示: struet node {int data; struct node*next;}*p,*q,*r;
现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是
A.p->next=q->next;
B.p->next=p->next->next;
C.p->next=r;
D.p=q->next;
若有以下定义和语句 struct a { int n,m;}; struct a st[3]={{1,20},{2,19},{3,21}}; struct a*p=st; 则以下错误的引用是
A.(p++)->n;
B.st[0].n;
C.(*p).n;
D.p=&st.m;
设有以下定义和语句,输出的结果是(用small模式编译,指针变量占2个字节)______。 struct date { long*cat; struct date *next; double dog; }too; printf("%d",sizeof(too));
A.20
B.16
C.14
D.12
若有以下定义的语句: struct student { int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() { struct student *p; p=stu; …} 则以下不正确的引用是()。
A.(p++)->num
B.p++
C.(*p).num
D.P=&stu.age.
A.(p++)->n;
B.st[0].n;
C.(*p).n;
D.P=&st.m,
设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节) struct date { long * cat; struct date * next; double dog; { too; printf(" % d",sizeof(too));
A.20
B.16
C.14
D.12
设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节) () struct date { long * cat; struct date *next; double dog;} too; printf("%d",sixeof(too));
A.20
B.16
C.14
D.12
设有以下说明语句 struct num { int a; float b; }numl;则下面的叙述不正确的是______。
A.struct是结构体类型的关键字
B.struct num是用户定义的结构体类型
C.numl是用户定义的结构体类型名
D.a和b都是结构体成员名