gre*_*een 0 c printing macros function
如果我有:
#define PRINT(x) fprintf(stderr, x);
Run Code Online (Sandbox Code Playgroud)
并在代码中我追加它:
PRINT(("print this"))
Run Code Online (Sandbox Code Playgroud)
输出是:[打印此]
如果我追加它:
PRINT(("print %s", "this"))
Run Code Online (Sandbox Code Playgroud)
输出是:[this]
有人可以解释为什么它只接收"this"参数而不是整个字符串?
小智 6
PRINT(("print %s", "this"))
Run Code Online (Sandbox Code Playgroud)
变为:
fprintf(stderr, ("print %s", "this"));
Run Code Online (Sandbox Code Playgroud)
这相当于:
fprintf(stderr, "this");
Run Code Online (Sandbox Code Playgroud)
#define PRINT(...) fprintf(stderr, __VA_ARGS__)
int main() {
PRINT("print %s", "this");
return 0;
}
Run Code Online (Sandbox Code Playgroud)