グループ数の平均数を求める(可変パラメータリストを利用する)
1160 ワード
テーマ:一組の数の平均数を求めて、
要求:可変パラメータリストを使用して、
可変パラメータリストの役割:任意の複数のパラメータを処理できます.
可変パラメータリストの実装方法:
可変パラメータのリストは、stdargに定義マクロによって実現される.hヘッダファイルでは、標準ライブラリの一部です.このヘッダファイルはタイプvaを宣言します.Listと3つのマクロva_start、va_Argとva_end.
va_というタイプを宣言できますlistの変数は、これらのマクロと組み合わせて使用され、パラメータにアクセスします.
各変数の役割:
vaを宣言listタイプの変数arg.パラメータリストの未確定部分にアクセスするために使用されます.この変数はva_を呼び出します.startは初期化され、最初のパラメータはva_です.listの変数名、2番目のパラメータは省略記号の前の最後の名前のあるパラメータです.初期化プロセスはarg変数を可変パラメータ部分を指す最初のパラメータに設定します.パラメータにアクセスするにはva_を使用する必要があります.arg、このマクロは2つのパラメータを受け入れます:va_list変数とパラメータリストの次のパラメータのタイプ.この例では、すべての可変パラメータが整数です.va_argはこのパラメータの値を返し、va_を使用します.argは次の可変パラメータを指す.最後に、最後の可変パラメータにアクセスした後、va_を呼び出す必要があります.end.
サンプルコードは次のとおりです.
間違いがあれば、ご指摘ください.ありがとうございます.
要求:可変パラメータリストを使用して、
可変パラメータリストの役割:任意の複数のパラメータを処理できます.
可変パラメータリストの実装方法:
可変パラメータのリストは、stdargに定義マクロによって実現される.hヘッダファイルでは、標準ライブラリの一部です.このヘッダファイルはタイプvaを宣言します.Listと3つのマクロva_start、va_Argとva_end.
va_というタイプを宣言できますlistの変数は、これらのマクロと組み合わせて使用され、パラメータにアクセスします.
各変数の役割:
vaを宣言listタイプの変数arg.パラメータリストの未確定部分にアクセスするために使用されます.この変数はva_を呼び出します.startは初期化され、最初のパラメータはva_です.listの変数名、2番目のパラメータは省略記号の前の最後の名前のあるパラメータです.初期化プロセスはarg変数を可変パラメータ部分を指す最初のパラメータに設定します.パラメータにアクセスするにはva_を使用する必要があります.arg、このマクロは2つのパラメータを受け入れます:va_list変数とパラメータリストの次のパラメータのタイプ.この例では、すべての可変パラメータが整数です.va_argはこのパラメータの値を返し、va_を使用します.argは次の可変パラメータを指す.最後に、最後の可変パラメータにアクセスした後、va_を呼び出す必要があります.end.
サンプルコードは次のとおりです.
#include<stdio.h>
#include<stdlib.h>
#include<stdarg.h>
int average(int val, ...)
{
va_list arg;
int count = 0;
int sum = 0;
va_start(arg, val);
for (count = 0; count < val; count++)
{
sum = sum + va_arg(arg, int);
}
va_end(arg);
return sum / val;
}
int main()
{
int let = average(3, 1, 4, 4);
printf(" :%d
", let);
system("pause");
return 0;
}
間違いがあれば、ご指摘ください.ありがとうございます.