以下代码有什么问题?我们怎样才能使函数 print() 像 printf 一样工作?
#include <stdio.h>
#include<stdarg.h>
void print(char *format,...)
{
va_list args;
va_start(args,format);
printf(format,args);
}
int main() {
print("%d %s",5,"le");
}
如果您需要传递可变参数,请vprintf
改用。
你需要 vprintf 那里。看看这个问题,它有一个类似的问题:printf 和 vprintf 函数系列有什么区别,什么时候应该使用一个而不是另一个?
您可能需要查看vprintf。该函数(和相关函数)允许您传递变量参数列表,并且它们处理格式。
首先,va_end()
如果使用va_start()
.
printf()
如果你想使用 ava_list
作为参数,你不能使用。看看
vprintf()
。
例子:
void print(char *format,...)
{
va_list args;
va_start(args,format);
vprintf(format,args);
va_end(args);
}