Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

関数内のポインターを使用して合計と差を見つけるCプログラム


aとbの2つの数があるとします。 (a + b)と(a --b)の両方を計算できる関数を定義する必要があります。ただし、Cの関数を使用すると、最大で1つの値を返すことができます。複数の出力を見つけるために、ポインターを使用して関数の引数に出力パラメーターを使用できます。この問題では、aをa + bで更新し、bをa-bで更新します。関数を呼び出すときは、これら2つの変数のアドレスを渡す必要があります。

したがって、入力が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

  1. 非再帰関数を使用して数値のGCDを見つけるCプログラム

    問題 非再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけます。 解決策 非再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つける方法を以下に説明します。 アルゴリズム 非再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけるには、以下のアルゴリズムを参照してください。 ステップ1 −開始 ステップ2 −整数aとbを読み取ります ステップ3 −関数G =GCD(a、b)ステップ6を呼び出します ステップ4 −G値を出力 ステップ5 −停止 ステップ6 −呼び出された関数:GCD(a、b) a. Initialize th

  2. 再帰関数を使用して数値のGCDを見つけるCプログラム

    問題 Cプログラミング言語の再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけます。 解決策 再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけるための解決策は、次のとおりです- アルゴリズム 再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけるには、以下のアルゴリズムを参照してください。 ステップ1 −再帰関数を定義します。 ステップ2 −2つの整数aとbを読み取ります。 ステップ3 −再帰関数を呼び出します。 a. if i>j b. then return the function with parameter