gpt4 book ai didi

c - 变量参数不打印

转载 作者:行者123 更新时间:2023-11-30 19:04:50 26 4
gpt4 key购买 nike

#define TRACE2(args)   TraceDebug args;

void TraceDebug ( const char * format, ... );

void TraceDebug ( const char * format, ... )
{
static char buffer[256];
va_list args;
va_start (args, format);
vsprintf (buffer,format, args);
va_end (args);
}


int main(void)
{
TRACE2(("ece %d is of %d students.", 1,33));
return 0;
}

预期输出是ece 1 is of 33 Students。为什么输出屏幕是空白的?

最佳答案

您只打印到缓冲区,但不在屏幕上打印任何内容。

这就是您所需要的:

void TraceDebug ( const char * format, ... )
{
static char buffer[256];
va_list args;
va_start (args, format);
vsprintf (buffer,format, args);
va_end (args);
printf("%s", buffer); // <<< add this
}

或者如果您只想在屏幕上输出,则只需使用 vprintf

void TraceDebug(const char * format, ...)
{
va_list args;
va_start(args, format);
vprintf(format, args); // <<<<<<<<<<<
va_end(args);
}

关于c - 变量参数不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51020444/

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