不懂 info(s, arg...),四个问题
#include <stdio.h>#define info(s, args...) printf(s, args)
#define debug(s, args...) fprintf(stderr, s, ##args)
int main(void)
{
int a = 3, b = 5;
info("a = %d, b = %d\n", a, b);
debug("123456\n");
return 0;
}
运行输出的结果为
a =3, b = 5
123456
我这个是在linux下编译的
问题1:
arg, args...分别是什么?
问题2:
##args是什么,在#define debug这个宏定义里,怎么后面有三个形参?
问题3:
stderr与stdout的区别在哪里,什么情况下只能用stderr或者stdout?
问题4:
arg这种知识点是在c语言的哪一部分,还能怎么用?(我百度都找不到)