vararg1.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 27 行

C
27
字号
/* { dg-do run } *//* { dg-options -w } *//* count() used to give 1 owing to a buggy test for varargs.  */#define count(y...)  count1 ( , ##y)#define count1(y...) count2 (y,1,0)#define count2(_,x0,n,y...) n#if count() != 0 || count(A) != 1#error Incorrect vararg argument counts#endif/* Test for changed behavior of the GNU varargs extension.   ##args, where args is a rest argument which received zero tokens,   used to delete the previous sequence of nonwhitespace characters.   Now it deletes the previous token.  */#include <string.h>#define S(str, args...) "  " str "\n", ##argsintmain(){  const char *s = S("foo");  return strchr (s, '\n') == NULL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?