1【单选题】

有如下定义:

struct Student{

char name[10];

int age;

char gender;

}std[3], *p=std;

则以下各输入语句中错误的是:

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

B、scanf("%c",&std[0].gender);

C、scanf("%c",&(p->gender));

D、scanf("%s",&std.name);

正确答案:D

2【单选题】

若有下列语句,则以下引用方式不合法的是( )。

struct student

{ int num;

int age;

};

struct student stu[3]={{101,20}, {102,19}, {103,20}}, *p=stu;

A、(p++)->num

B、p++

C、(*p).num

D、p=&stu.age

正确答案:D

3【单选题】

定义下列结构体(联合)数组:

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, A

B、16, H

C、16, A

D、17, H

正确答案:C

4【单选题】

以下程序运行后的输出结果是____。

#include<stdio.h>

struct s

{

int x;

int y;

} data[2] = {10, 100, 20, 200};

int main()

{

struct s *p = data + 1;

printf("%d\n", p->x);

return 0;

}

A、10

B、11

C、20

D、21

正确答案:C

5【单选题】

若有以下语句,则下面表达式的值为1002的是()。

struct student

{int age;

int num;};

struct student stu[3]={{1001,20},{1002,19},{1003,2}};

struct student *p;

p=stu;

A、(p++)->num

B、(p++)->age

C、(*p).num

D、(*++p).age

正确答案:D

声明:本站所有文章,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。