为什么下面的代码不产生任何输出?我希望它是42 s
。如何解决?
#include <cstdio>
#include <cstdlib>
#include <cstdarg>
void foo(const char* format, ...)
{
va_list args;
va_start(args, format);
printf(format, args);
va_end(args);
}
int main()
{
foo("%d %s\n", 42, "s");
return 0;
}
实际上,它产生http://codepad.org/k7ld231E。
为什么foo
错了?