AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第20题 (1.0分) 题号:715 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()。

A
 i=*p;
B
 *p=*&j;
C
 i=&j;
D
 i=**p;

答案解析

正确答案:B

解析:

**解析:** 题目要求找出能完成 `i = j` 赋值功能的语句。 已知条件: - `int i, j = 2;`:定义了整型变量 `i` 和 `j`,其中 `j` 初始化为 2。 - `*p = &i;`:定义了指针变量 `p`,并将其指向变量 `i` 的地址。因此,`p` 存储的是 `i` 的地址,`*p` 等价于变量 `i` 本身。 我们要实现的效果是将 `j` 的值(即 2)赋给 `i`。 **逐项分析:** * **A. `i = *p;`** * `*p` 等价于 `i`。 * 该语句相当于 `i = i;`。 * 这并没有将 `j` 的值赋给 `i`,而是将 `i` 自身的值赋给自己(且此时 `i` 未初始化,值不确定)。故 A 错误。 * **B. `*p = *&j;`** * `*p` 等价于 `i`(因为 `p` 指向 `i`)。 * `&j` 取变量 `j` 的地址。 * `*&j` 是对 `j` 的地址进行解引用,等价于 `j` 本身。 * 因此,该语句等价于 `i = j;`。 * 这正是题目要求的功能。故 B 正确。 * **C. `i = &j;`** * `&j` 是变量 `j` 的地址,其类型是指针类型(`int *`)。 * `i` 是整型变量(`int`)。 * 在标准 C 语言中,不能直接将指针地址赋值给整型变量(除非强制转换,但即使转换,语义也不是“赋值 j 的值”,而是“赋值 j 的地址”)。此外,这会导致类型不匹配警告或错误。故 C 错误。 * **D. `i = **p;`** * `p` 是指向 `int` 的指针(`int *`)。 * `*p` 是 `int` 类型。 * `**p` 试图对 `int` 类型再次解引用,这是非法的操作,会导致编译错误。故 D 错误。 **结论:** 正确答案是 **B**。
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码