网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

18、设有如下的说明和定义 struct { int a; char *s; } x, *p = &x; x.a = 4; x.s = "hello"; 则以下叙述中正确的是()

A.(p++)->a与p++->a都是合语法的表达式,但二者不等价

B.语句 ++p->a; 的效果是使p增1

C.语句 ++p->a; 的效果是使成员a增1

D.语句 *p->s++; 等价于 (*p)->s++;


参考答案和解析
D p->a得到p指向的结构体变量中的成员a的值。p->a++得到p指向的结构体变量中的成员a的值,用完该值后使p-a加1。++p->a得到p指向的结构体变量中的成员a的值使之加1(先加)。由此可见指向运算符->优先级高于++,因此*p->s++相当于*(p->s)++,结合性自右至左,因此p++->a。和(p++)->a等价。
更多 “18、设有如下的说明和定义 struct { int a; char *s; } x, *p = x; x.a = 4; x.s = "hello"; 则以下叙述中正确的是()A.(p++)->a与p++->a都是合语法的表达式,但二者不等价B.语句 ++p->a; 的效果是使p增1C.语句 ++p->a; 的效果是使成员a增1D.语句 *p->s++; 等价于 (*p)->s++;” 相关考题
考题 设有以下语句typedef struct TT{char c,int a[4];} CIN;则下面叙述中正确的是A) 可以用 TT 定义结构体变量B)TT 是 struct 类型的变量C) 可以用 CIN 定义结构体变量D)CIN 是 struct TT 类型的变量

考题 设有以下说明语句struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是A.struct结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型名

考题 下列语句段中,正确的是( )。A.struct{int x;float y;int a[2];unsigned b[3];char name[10];};B.struct stu{unsigned a[3];unsigned b[4];}x;int*p=x.a;C.struct stu{int a;float x[4];}y={1,1.0};float data=y.x;D.struct nd{int a,b;unsigned c[2]=5;};

考题 设有以下语句: typedef street S { int g; char h;} T;则下面叙述中正确的是( )。A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是struct S类型的变量

考题 设有以下语句: typedef struct S { int g; char h; } T; 则下面叙述中正确的是( )。A.可以用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是stnictS类型的变量

考题 设有以下说明和定义:includeVoid main() {typedef union{long i; int k[5]; char 设有以下说明和定义:#include<iostream. h>Void main() {typedef union{long i; int k[5]; char c;}DATE;struct date{iNt cat; DATE cow; double. dog;}too;DATE max;则下列语句的执行结果是( )。cout<<(sizeof(struct date)+sizeof(max))<<end1;}A.26B.52C.18D.8

考题 设有以下C语言说明语句:struct ex{int x;float y;char z;} example则下面的叙述中不正确的是(52)。A.struct是结构体类型的关键字B.x、y、z都是结构体成员名C.struet ex是结构体类型D.example是结构体类型名

考题 若定义下列结构体,结构体变量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;

考题 设有以下语句typedef struct S{ int g; char h; } T;则下面叙述中正确的是( )A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是struct S类型的变量

考题 设定义下列结构体,结构体变量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;

考题 设有下列说明语句: strcut str {int x; float y; char z;}st; 则下列的叙述中不正确的是( )。A.struct是结构体类型的关键字B.st是结构体类型名C.x、y、x都是结构体成员名D.struct str是结构体类型名

考题 若有以下结构类型说明和变量定义,则变量a在内存中所占字节数是struct stud{ char num[6]; int s[4]; double ave;}a,*p;

考题 设定义下列结构体,结构体变量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;

考题 设有以下说明和定义:includeVoid main() {typedef union{long i; int k[5]; char 设有以下说明和定义: #include<iostream. h> Void main() { typedef union { long i; int k[5]; char c; } DATE; struct date {int cat; DATE cow; double dog; }too; DATE max; cout<<(sizeof(struct date)+sizeof(max))<<end1;}A.26B.52C.18D.8

考题 设有以下说明和定义:typedef union{ long i;int k[5];char c; } DATE;struct date{ int cat;DATE cow;double dog; }too;DATE max;则下列语句的执行结果是______。printf("%d",sizeof (struct date) +sizeof(max));A.26B.30C.18D.8

考题 设有以下说明语句: struct ex { int x;floct y;char z;} example; 则下面的叙述中不正确的是 ( )A.struct是结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型

考题 设有以下说明语句: struct ex {int x;float y;char z; }example;在下面的叙述中,不正确的一条是______。A.struct是结构体类型的关键词B.example是结构体类型名C.x,y,2都是结构体成员名D.struct ex是结构体类型

考题 下列语句段中,正确的是( )。A.struct {int x; float y; int a[2]; unsigned b[3]; char name[10]; };B.structstu { unsigneda[3]; unsigned b[4]; }x; int*p=x.a;C.struc tsu { int a; float x[4]; }y={1,1.0}; floatdat a=y.x;D.stmct nd {int a,b; unsigned c[2]=5; };

考题 若有如下定义和声明: struct s { int m;char ch;double x; union t {char a[6];int b[3];}tt;}ss; 则sizeof(struets)的值是( )A.6B.14C.17D.20

考题 设有以下C语言说明语句,则值为210的表达式是(33)。 struct s { int a;int *b;}; Int x0[]={110,120},x1[]={210,220}; struct s x[]={{100},{200}},*p=x; x[0].b=x0;x[1].b=x1;A.(++p)->aB.*p->bC.*(p++)->bD.*(++p)->b

考题 下列语句段中,正确的是( )。A.street { int x; float y; int a[2]; unsigned b[3]; char name[ 10]; };B.struct stu { unsigned a[3]; unsigned b[4]; }x; int *p= x.a;C.stmct stu { int a; float x[4]; }y={1,1.0}; float data=y.x;D.struct nd { int a,b; unsigned c[2]=5; };

考题 设有以下声明语句 struct ex { int x;float y;char z;}example; 则下面的叙述中不正确的是______。A.struct是结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型

考题 设有以下C语言说明语句。 struct { int x,y;} s[2]={{1,2),{3,4}),*p=s,*q=s; 则表达式++p->x和表达式(++q)->x的值分别为(34)。A.1、1B.1、3C.2、3D.3、3

考题 设有以下语句 typedef struct s {int g;char h;}T 则下面叙述中正确的是A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是structS类型的变量

考题 下列语句段中,正确的是( )。A.struct { int x; float y; int a[2]; unsigned b[3]; char name[ 10]; };B.struct stu { unsigned a[3]; unsigned b[4]; }x; int *p= x.a;C.street stu { int a; float x[4]; }y={1,1.0}; float data=y.x;D.struct nd {int a,b; unsigned c[2]=5; };

考题 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是().   struct stud { char num[8]; int s[4]; double ave; } a,*p; 

考题 单选题有以下函数:#include struct stu{ int num; char name[10]; int age;};void fun(struct stu *p){ printf(%s, p-name);}main(){ struct stu x[3] = {{01,Zhang,20}, {02,Wang,19}, {03,Zhao,18}}; fun(x+2);}程序运行后的输出结果是(  )。A ZhangB ZhaoC WangD 19

考题 填空题设有以下结构类型说明和变量定义,则变量a在内存所占字节数是().   struct stud { char num[8]; int s[4]; double ave; } a,*p;