🍋更改主调函数中的变量
2021-1-21
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
有时需要在一个函数中更改其他函数的变量。例如,普通的排序任务中交换两个变量的值。假设要交换两个变量x和y的值。简单的思路是:
这完全不起作用,因为执行到第2行时,x的原始值已经被y的原始值替换了。因此,要多写一行储存x的原始值:
 
两个变量的值并未交换!
interchange()没有问题,它交换了 u 和 v 的值。问题出在把结果传回 main()时。interchange()使用的变量并不是main()中的变量。因此,交换u和v的值对x和y的值没有影响!
 
 
是否能用return语句把值传回main()?当然可以,在interchange()的末尾加上下面一行语句:
然后修改main()中的调用:
这只能改变x的值,而y的值依旧没变。用return语句只能把被调函数中的一个值传回主调函数,但是现在要传回两个值。这没问题!不过,要使用指针。
 
  • C
  • 查找地址:&数组
    目录