小编Rab*_*ios的帖子

通过变量参数修改数组

我试图通过将值传递va_arg给数组来通过变量参数修改数组,但由于某种原因它给出了奇怪的结果,这是代码:

#include <stdio.h>
#include <stdarg.h>

void get_args(double* args, int argc, ...);

void get_args(double* args, int argc, ...) {
    va_list argv;
    va_start(argv, argc);

    if (argc == 1) {
        args[0] = va_arg(argv, double);
    }
    else if (argc == 4) {
        for (int i = 0; i < argc; i++) {
            args[i] = va_arg(argv, double);
        }
    }

    va_end(argv);
}

int main(void) {
    double args[4] = { 0, 0, 0, 0 };
    get_args(args, 4, 0, 1, 2, 3);

    for (int i = …
Run Code Online (Sandbox Code Playgroud)

c variadic-functions

2
推荐指数
1
解决办法
89
查看次数

标签 统计

c ×1

variadic-functions ×1