😸
[C] va_start 関数
機能
可変長引数リストを操作する準備をするマクロ[1]
使用例
sum=6
と表示する
\n
は改行を表す エスケープシーケンス[2]
コード
int sum = add_nums(3, 1, 2, 3); // 3つの数値を加算
printf("sum=%d\n", sum);
全文
#include <stdio.h>
#include <stdarg.h>
int add_nums(int count, ...) {
va_list args;
int sum = 0;
va_start(args, count); // 可変長引数リストの初期化
for(int i = 0; i < count; i++) {
sum += va_arg(args, int);
}
va_end(args); // 終了処理
return sum;
}
void main() {
int sum = add_nums(3, 1, 2, 3);
printf("sum=%d\n", sum);
}
実行結果
sum=6
sum=15
を変数から表示する
コード
int sum = add_nums(5, 1, 2, 3, 4, 5);
printf("sum=%d\n", sum);
全文
#include <stdio.h>
#include <stdarg.h>
int add_nums(int count, ...) {
va_list args;
int sum = 0;
va_start(args, count);
for(int i = 0; i < count; i++) {
sum += va_arg(args, int);
}
va_end(args);
return sum;
}
void main() {
int sum = add_nums(5, 1, 2, 3, 4, 5);
printf("sum=%d\n", sum);
}
実行結果
sum=15
Discussion