使用地址呼叫函式實現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+瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.