使用地址调用函数实现C++程序的加减法


假设我们有两个数字a和b。我们需要定义一个函数来计算(a + b)和(a - b)。但是使用C++函数,我们最多只能返回一个值。为了得到多个输出,我们可以使用指针将输出参数放入函数参数中,并使用这些变量的地址来调用该函数。在这个问题中,我们将用a+b更新a,用a-b更新b。调用函数时,我们需要传递这两个变量的地址。

因此,如果输入为a = 15,b = 18,则输出为a + b = 33,a - b = -3

为了解决这个问题,我们将遵循以下步骤:

  • 定义一个函数solve(),它将接收a和b的地址。

  • temp := 给定地址变量值的和

  • b := 给定地址变量值的差

  • a = temp

示例

让我们来看下面的实现来更好地理解:

#include <iostream>
using namespace std;
int solve(int *a, int *b){
    int temp = *a + *b;
    *b = *a - *b;
    *a = temp;
}
int main(){
    int a = 15, b = 18;
    solve(&a, &b);
    cout << "a + b = " << a << " and a - b = " << b;
}

输入

15, 18

输出

a + b = 33 and a - b = -3

更新于:2021年10月7日

2K+浏览量

启动您的职业生涯

完成课程获得认证

开始
广告