C程序使用函数中的指针求和和差
假设我们有两个数字a和b。我们必须定义一个可以同时计算(a+b)和(a-b)的函数。但是使用C中的函数,我们最多可以返回一个值。要找到多个输出,我们可以使用指针将输出参数转换为函数参数。在这个问题中,我们将用a+b更新a,用ab更新b。当我们调用函数时,我们必须传递这两个变量的地址。
所以,如果输入像a=5,b=8,那么输出将是a+b=13和a-b=-3
示例
让我们看看以下实现以获得更好的理解-
#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