多点好运吧 2023-04-23 20:06 采纳率: 62.5%
浏览 17
已结题

为什么结果不是2,2,rx不是*px的别名吗?


int x=1,y= 2;int *px = &x;

int &rx = *px;

*px = 3;

x=4;

px = &y;

coutくく*px <く"," <くrx <くendl;

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-23 20:14
    关注

    基于Monster 组和GPT的调写:

    • 输出的结果应该是 "2,4"。
    • 原因是在执行语句 px = &y; 后,px 的值被改为指向变量 y 的地址,因此接下来 *px 的值为 2。而 rx 是 *px 的别名,即 rx 与 *px 指向同一个内存地址,因此 rx 的值也是 2。在执行语句 x=4; 后,变量 x 的值被改为 4,因此 *px 的值也被改为 4。由于 rx 是 *px 的别名,因此 rx 的值也被改为 4。最后输出的结果就是 2,4。
    • rx 是一个引用类型的变量,它必须在定义时初始化,并且不能被重新绑定到另一个变量。在这个例子中,rx 的初始化语句 int &rx = *px; 把 rx 绑定到了 *px 所指向的内存地址。因此,rx 的值随着 *px 的值的变化而变化。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭