参考答案和解析
正确答案:B
解析:选项A中“&(*p).age”代表的是std[0].age的地址,是正确的,选项C也是正确的,选项D先用指针变量引用结构型的成员sex,然后取它的地址,也是正确的,选项B中的“std.name”是错误的引用,因为std是数组名,代表的是数组的首地址,地址没有成员“name”。所以B选项为所选。
更多“设有如下定义:struct ss{ char name[10]intage;charsex;} std[3],*p=std; 下面各输入语句中错误 ”相关问题
  • 第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.sean("%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题:

    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

  • 第3题:

    以下对结构体类型变量的定义中不正确的是()。

    A.struct{ int num; float age; }student; struct student std1;

    B.#define STUDENT struct student STUDENT{ int num; float age; }std1;

    C.int num; float age; }std1;

    D.struct{ int num; float age; }std1;


    struct { int num; float age; } student; struct student std1;

  • 第4题:

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


    正确答案:B
    解析:std是一个数组,其内可以存放三个结构体类型的数据。当std单独使用的时候表示一个指针,指向该数组首地址。因此不能直接用std和点操作符进行配对使用。指针操作符->只能和指针配对使用,点操作符只能和有名对象或变量配对使用。

  • 第5题:

    已知学生记录描述如下:下面对结构体成员"computer"的赋值方式正确是()。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark; } std;

    A.student.computer=84;

    B.mark.computer =84;

    C.std.mark.computer=84;

    D.std.computer=84;


    B