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
评论(0)