😸
[C] va_end 関数
機能
可変長引数リスト(va_list型)の使用終了処理を行うマクロ[1]
使用例
sum: 6
と表示する
\n
は改行を表す エスケープシーケンス[2]
コード
int sum(int num, ...) {
va_list args;
int result = 0;
va_start(args, num);
for (int i = 0; i < num; i++) {
result += va_arg(args, int);
}
va_end(args);
return result;
}
printf("sum: %d\n", sum(3, 1, 2, 3));
全文
#include <stdio.h>
#include <stdarg.h>
int sum(int num, ...) {
va_list args;
int result = 0;
va_start(args, num);
for (int i = 0; i < num; i++) {
result += va_arg(args, int);
}
va_end(args);
return result;
}
void main() {
printf("sum: %d\n", sum(3, 1, 2, 3));
}
実行結果
sum: 6
result: 10
を変数から表示する
コード
int a = 4, b = 6;
printf("result: %d\n", sum(2, a, b));
全文
#include <stdio.h>
#include <stdarg.h>
int sum(int num, ...) {
va_list args;
int result = 0;
va_start(args, num);
for (int i = 0; i < num; i++) {
result += va_arg(args, int);
}
va_end(args);
return result;
}
void main() {
int a = 4, b = 6;
printf("result: %d\n", sum(2, a, b));
}
実行結果
result: 10
Discussion