gpt4 book ai didi

c++ - 将数组作为参数传递给 printf

转载 作者:搜寻专家 更新时间:2023-10-31 01:04:38 25 4
gpt4 key购买 nike

有没有一种方法可以执行以下操作,但只将 bounds 传递给 printf

double *bounds = getBounds();
printf("%f-%f, %f-%f, %f-%f",
bounds[0], bounds[1],
bounds[2], bounds[3],
bounds[4], bounds[5] );

// what I'd like to write instead:
xxxprintf("%f-%f, %f-%f, %f-%f", bounds);

最佳答案

你可以自己写xxxprintf()

#include <stdio.h>

int arrayprintf_dbl(const char *fmt, const double *data) {
int n = 0;
const char *p = fmt;
const double *x = data;
while (*p) {
if (*p == '%') {
// complicate as needed ...
p++;
if (*p != 'f') return -1; // error
n += printf("%f", *x++);
} else {
putchar(*p);
n++;
}
p++;
}
return n;
}

int main(void) {
double bonus[6] = {1, 2, 3, 4, 5, 6};
arrayprintf_dbl("%f-%f, %f-%f, %f-%f\n", bonus);
return 0;
}

我用 C 写的,我认为它可以很容易地转换为 C++(我不懂 C++)。

关于c++ - 将数组作为参数传递给 printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com