strct-varg-1.c

来自「gcc3.2.1源代码」· C语言 代码 · 共 57 行

C
57
字号
#ifdef NO_VARARGS#include <stdarg.h>#define va_alist int x_attr, ...#define va_dcl#else#include <varargs.h>#endifstruct s { int x, y; };f (va_alist)     va_dcl{  struct s va_values;  va_list va;  int attr;  int i;#ifdef NO_VARARGS  va_start (va, x_attr);  attr = x_attr;#else  va_start (va);  attr = va_arg (va, int);#endif  if (attr != 2)    abort ();  va_values = va_arg (va, struct s);  if (va_values.x != 0xaaaa || va_values.y != 0x5555)    abort ();  attr = va_arg (va, int);  if (attr != 3)    abort ();  va_values = va_arg (va, struct s);  if (va_values.x != 0xffff || va_values.y != 0x1111)    abort ();  va_end (va);}main (){  struct s a, b;  a.x = 0xaaaa;  a.y = 0x5555;  b.x = 0xffff;  b.y = 0x1111;  f (2, a, 3, b);  exit (0);}

⌨️ 快捷键说明

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