已知定义“int x = 1, *p”,则合法的赋值表达式是( )。

题目
已知定义“int x = 1, *p”,则合法的赋值表达式是( )。

A、p = &x

B、p = x

C、*p = &x

D、*p = *x

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

1、设有下列变量定义与函数声明,则合法的函数调用语句是()。 int x,y; void swap(int *p,int *q);

A.swap(x,y);

B.swap(*x,*y);

C.swap(&x,&y);

D.swap(p,q);


A

第2题:

定义如下一维数组:int a[5],*p;则下面描述错误的是()

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


表达式a=a+1是合法的

第3题:

有定义如下:int a[5], *p; p=a; 则下列描述错误的是?

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


B

第4题:

2、定义如下一维数组:int a[5],*p=a;则下面描述错误的是:

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


B 解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

第5题:

定义如下一维数组:int a[5],*p=a;则下面描述错误的是:

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


B 解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

第6题:

定义如下一维数组:int a[5],*p;,则下列描述错误的是( )。

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


正确答案:B

第7题:

定义如下一维数组:int a[5],*p;,则下列描述错误的是( )。

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


正确答案:B

第8题:

定义如下一维数组: inta[5],*p=a; 则下面描述中,错误的是( )。

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


正确答案:B
解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

第9题:

有如下定义:inta[5],*p;p=a;则下列描述错误的是()。

A.表达式p=p+1合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


正确答案:B