刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

已知:int a, b = 5, *p = &a ,下列表达式哪一个可以将 b 赋值给 a ?(   )。

A

*p = *&b;

B

a = *p;

C

a = &b;

D

a = **p;

使用微信搜索喵呜刷题,轻松应对考试!

答案:

B

解析:

【喵呜刷题小喵解析】:

首先,我们需要理解题目中的变量和指针。

变量a和b是整型变量,其中b已经被赋值为5。指针p指向变量a的地址。

接下来,我们分析每个选项:

A选项:*p = *&b;
这个表达式试图将b的值赋给a,但是使用了错误的指针操作。*p表示p指向的值,而&b表示b的地址,所以*&b是未定义的。

B选项:a = *p;
这个表达式将p指向的值(即a的值)赋给a,实际上并没有改变a的值。

C选项:a = &b;
这个表达式将b的地址赋给a,而不是b的值,所以不符合题目要求。

D选项:a = **p;
这个表达式试图解引用指针p两次,即**p,但是p指向的是a的地址,而不是一个指向指针的指针,所以**p是未定义的。

根据以上分析,只有B选项可以将b的值(即5)赋给a,但是实际上a的值并没有改变,因为a的值已经被初始化为未定义的值。

因此,虽然B选项在语法上是正确的,但是它并不能实现题目要求的功能。如果题目要求将b的值赋给a,那么应该使用a = b;这样的表达式。

所以,题目可能存在错误或者不完整,需要更多的上下文信息来确定正确答案。
创作类型:
原创

本文链接:已知:int a, b = 5, *p = &a ,下列表达式哪一个可以将 b 赋值给 a ?( 

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share