使用指针在函数中查找和与差的C程序


假设我们有两个数字a和b。我们将必须定义一个可以同时计算(a + b)和(a - b)的函数。但是使用C语言中的函数,我们最多只能返回一个值。为了找到多个输出,我们可以使用指针将输出参数作为函数参数。在这个问题中,我们将用a+b更新a,用a-b更新b。当我们调用函数时,我们将必须传递这两个变量的地址。

因此,如果输入类似于a = 5,b = 8,则输出将为a + b = 13且a - b = -3

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

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

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

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

  • a = temp

示例

让我们看看下面的实现,以便更好地理解:

#include <stdio.h>
int solve(int *a, int *b){
    int temp = *a + *b;
    *b = *a - *b;
    *a = temp;
}
int main(){
    int a = 5, b = 8;
    solve(&a, &b);
    printf("a + b = %d and a - b = %d", a, b);
}

输入

a = 5, b = 8

输出

a + b = 13 and a - b = -3

更新于:2021年10月8日

6K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告