单选题有以下结构体说明、变量定义和赋值语句structSTD{ charname[10]; intage; charsex;}s[5],*ps;ps=s[0];则以下scanf函数调用语句有错误的是( )。Ascanf("%s",s[0].name);Bscanf("%d",s[0].age);Cscanf("%c",(ps-sex));Dscanf("%d",ps-age);
单选题
有以下结构体说明、变量定义和赋值语句
struct STD
{
char name[10];
int age;
char sex;
}s[5],*ps;
ps = &s[0];
则以下scanf函数调用语句有错误的是( )。
A
scanf("%s",s[0].name);
B
scanf("%d",&s[0].age);
C
scanf("%c",&(ps->sex));
D
scanf("%d",ps->age);
参考解析
解析:
A项正确,s[0].name是取s[0]中的name成员,name是char类型数组,自身就是首元素地址;B项正确,[]和.操作符优先级高于&,等价于&(s[0].age);C项正确,ps->sex是取s[0]的sex成员;D项错误,ps->age是取s[0]中的age成员,scanf函数中需要传入变量的地址。答案选择D选项。
A项正确,s[0].name是取s[0]中的name成员,name是char类型数组,自身就是首元素地址;B项正确,[]和.操作符优先级高于&,等价于&(s[0].age);C项正确,ps->sex是取s[0]的sex成员;D项错误,ps->age是取s[0]中的age成员,scanf函数中需要传入变量的地址。答案选择D选项。
相关考题:
设有以下语句typedef struct TT{char c,int a[4];} CIN;则下面叙述中正确的是A) 可以用 TT 定义结构体变量B)TT 是 struct 类型的变量C) 可以用 CIN 定义结构体变量D)CIN 是 struct TT 类型的变量
有以下结构体说明、变量定义和赋值语句struct STD{ char name[10];int age;char sex;} s[5],*ps;ps=s[0];则以下 scanf 函数调用语句中错误引用结构体变量成员的是A)scanf("%s",s[0].name);B)scanf("%d",s[0].age);C)scanf("%c",(ps-sex));D)scanf("%d",ps-age);
设有定义:struct person{ int ID;char name[12];}p;请将 scanf("%d", 【 1 2 】 ); 语句补充完整,使其能够为结构体变量 p 的成员 ID 正确读入数据。
有以下说明和定义语句 struct student { int age;char num[8]; struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}}; struct student *p=stu;}; 以下选项中引用结构体变量成员的表达式错误的是A.(p++)->numB.p->numC.(*p).numD.stu[3].age
有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; }s[5],*ps; ps=s[0]; 则以下scanf函数调用语句中错误引用结构体变量成员的是______。A.scanf("%s",s[0].name);B.scanf("%d",s[0].age);C.scanf("%c",(ps->sex));D.scanf("%d",ps->age);
有以下说明和定义语句 struct student {int age;char num[8]; }; struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}}; struct student*p=stu;以下选项中引用结构体变量成员的表达式错误的是______。A.(p++)->numB.p->numC.*p.numD.stu[0].age
设有如下定义 struct ss { char name[10]; int age; char sex; } std[3],* p=std; 下面各输入语句中错误的是A.scanf("%d",(*p).age);B.scanf("%s",std.name);C.scanf("%c",std[0].sex);D.scanf("%c",(p->sex));
有以下定义和语句: struct students {int num;char name[20];char c; struct {int grade1;int grade2;}s; }; struct students w,*pw; *pw=w; 下列赋值语句不正确的是( )。A.w.num=1002;B.w.grade1=85;C.pw->num=1002;D.w.s.grade2=85;
若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。Struct st{ int x;inty;int z;}Struct worker{ char name[20];char sex;struct st birth;}p;A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
有如下说明和定义语句: struct student { int age; char num{8};}; struct student stu[3]={{20,"200401"},{21,"200402"),{19,"200403"}}; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是( )。A.(p++)->numB.p->numC.(*p).numD.stu[3].age
定义下列结构体(联合)数组: struct St { char name[15]; int age; }a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17}; 执行语句printf("%d,%c",a[2].age,*(a[3].name+2))的输出结果为( )。A.15,AB.16,HC.16,AD.17,H
设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 stmct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
定义下列结构体(联合)数组: struct st { char name[15]; int age; }a[10]={"ZHA0",14,"WANG",15,"LIU",16," ZHANG",17); 执行语句printf("%d,%C",a[2].age,*(a[3].name+ 2))的输出结果为( )。A.15,AB.16,HC.16,AD.17,H
有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A.(p++)-num B.p-num C.(*p).num D.stu[3].age
若有以下语句:typedef struct S{int 9;char h;}T;以下叙述中正确的是( )。A.可用s定义结构体变量B.可用T定义结构体变量C.S是struct类型的变量D.T是struct S类型的变量
有以下说明和定义语句:struct student{int age; char num[8] ;};struct student stu [3] = { { 20, "200401" } , {21, "200402" } , {19, "200403" } };stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是( )。A.(p++) ->numB.p- >numC.( *p).numD.stu[3].age
以下scanf函数调用语句中对结构体变量成员的不正确引用是 struct pupil { char name[20]; int age int sex; } pup[5],*p; p=pup;A.scanf("%s",pup[0].name);B.scanf("%d",pup[0].age);C.scanf("%dT",(p->sex));D.scanf("%d",p->age);
某C语言结构体的定义如下。 struct date { int year, month, day; }; struct worklist { char name[20]; char sex; struct date birthday; }person; 若对变量person的出生年份进行赋值,正确的赋值语句是(33)。A.year=1976B.birthday. year=1976C.person. year=1976D.person. birthday. year=1976
设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是A.cin>>(* p).age);B.cin>>std.name);C.cin>>std[0].sex);D.cin>>(p->.sex));
下列关于结构型变量的定义语句中,错误的是( )A.typedef struct CCCB.define GGG struct { char name[20];GGG CCC { char name[20]; int age; int age; }GGG; }; GGG abc ; GGG CCC abc;C.structD.struct { char name[20]; { char name[20]; int age; int age; }ccc; }abc; CCC abc;
以下scanf函数调用语句中对结构体变量成员的不正确引用的是()。 struct node{ char name[20]; int age; int sex; }student[5],*p; p=student; A、scanf(“%s”,student[0].name);B、scanf(“%d”,student[0].age);C、scanf(“%d”,(p-sex));D、scanf(“%d”,p-age);
若有以下说明和语句: struct student{ int age; int num; }std, *p; p=std; 则下面对该结构体变量std中成员age的引用方式错误的是()。 A、std.ageB、*p.ageC、(*p).ageD、p-age
数据结构里,struct student { char name[20]; char sex[10]; int age; int score; }; 定义结构体后,定义变量、数组赋值正确的是()。A、struct student s={"张三","男",18,100};B、struct student stu[3]={{"张三","男",18,100},{"李四","男",19,90},{"王五","男",23,97}};C、struct student s={"李四";"女";18;100};D、struct student stu[3]={{"张三",18,"男",100},{"李四",19,"男",90},{"王五",23,"男",97}};
单选题若有以下说明和语句: struct student{ int age; int num; }std, *p; p=std; 则下面对该结构体变量std中成员age的引用方式错误的是()。Astd.ageB*p.ageC(*p).ageDp-age
单选题以下scanf函数调用语句中对结构体变量成员的不正确引用的是()。 struct node{ char name[20]; int age; int sex; }student[5],*p; p=student;Ascanf(“%s”,student[0].name);Bscanf(“%d”,student[0].age);Cscanf(“%d”,(p-sex));Dscanf(“%d”,p-age);