niusouti.com

有以下结构体说明、变量定义和赋值语句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 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 STD{ char name[10];int age;char sex;} s[5], ”相关问题
  • 第1题:

    设有如下定义: 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));


    正确答案:B
    解析:选项A中&(*p).age代表的是std[0].age的地址,是正确的,选项C也是正确的,选项D先用指针变量引用结构型的成员sex,然后取它的地址,也是正确的,选项B中的std.name是错误的引用,因为std是数组名,代表的是数组的首地址,地址没有成员name。所以B选项为所选。

  • 第2题:

    有以下结构体说明、变量定义和赋值语句 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 ps一>age不是地址,不能用于scanf函数中。所以选择A)。

  • 第3题:

    有以下结构体说明、变量定义和赋值语句 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 本题考查typedef的使用方法,typedef对已存在的类型使用一个新的名字,选项A中ABC为新的类型别名,定义正确。

  • 第4题:

    设有如下定义 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));


    正确答案:B
    解析:在C语言中,结构体变量的引用有三种等价方式:
      1、结构体变量成员名;2、(*p).成员名;3、p->成员名。
      因为std.name是字符数组名,本身代表地址,其前面不应该使用“&”符号,所以选项B错误。

  • 第5题:

    9、有以下说明和定义语句,下面各输入语句中错误的是 #include <stdio.h> int main() { struct student { int age; char sex; char name[8]; }; struct student std; struct student *p=&std; ....... return 0; }

    A.scanf("%c",&std[0].sex);

    B.scanf("%d",&(*p).age);

    C.scanf("%s",std.name);

    D.scanf("%c",&(p->sex));


    C