【发布时间】:2022-11-20 19:18:55
【问题描述】:
您好,我想输出每个偶数的正元素。我使用 VA_LIST。编译器只统计1到4的数字,4到8不统计,请问是什么问题?
#include <stdio.h>
#include <stdarg.h>
int MyPerfectF(int num, ...) {
int sum = 0;
va_list args;
va_start(args, num);
int x;
while (va_arg(args, int) != NULL) {
x = va_arg(args, int);
if (x > 0 && x % 2 == 0) {
printf("%d ", x);
sum++;
}
}
printf("\nAmount of true numbers is: %d", sum);
va_end(args);
return 0;
}
int main(void) {
int num = 5;
int a, b, c, d;
scanf_s("%d %d %d %d", &a, &b, &c, &d);
MyPerfectF(num, a, b, c, d, NULL);
}
【问题讨论】:
-
您在每次迭代中调用
va_arg两次。
标签: c function variadic-functions