C 程序使用函数中的指针查找总和与差值
cserver side programmingprogramming
假设我们有两个数字 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