为什么第一个程序运行结果是5 9第二个就是9 5,我的想法是执行一个被调用函数时,形参的值发生改变但不会改变实参的值,这里为什么第二个程序就改变了原来实参值呢
关于函数指针之间的传递与输出
为什么第一个程序运行结果是5 9第二个就是9 5,我的想法是执行一个被调用函数时,形参的值发生改变但不会改变实参的值,这里为什么第二个程序就改变了原来实参值呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- it_hao528 2022-06-27 11:31关注
1、由于形参的值是不可进行修改的,第一个a和b代表的是地址的值,这里不能直接进行赋值修改。所以第一个输出 5 9
2、形参的地址指针可以进行修改,第二个的x和y代表的是x和y的地址指针,可以进行修改,交换之后,x指向y的地址,y指向x的地址,而x和y本身的地址并没有改变,由于值是存在地址里边的,所以第二个输出 9 5本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
- ¥200 求博主教我搞定neo4j简易问答系统,有偿
- ¥15 nginx的使用与作用
- ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
- ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
- ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
- ¥15 ats2837 spi2从机的代码
- ¥200 wsl2 vllm qwen1.5部署问题
- ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
- ¥15 数学建模数学建模需要