⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 struct-by-value-22_x.c

📁 linux下编程用 编译软件
💻 C
字号:
#ifndef T#include "compat-common.h"#include "mixed-struct-defs.h"#include "mixed-struct-init.h"#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST)			\extern void testva##NAME (int n, ...);					\									\void									\testit##NAME (int n)							\{									\  struct S { FIELDS TYPE a[n]; } s;					\  int i;								\  FIELDINIT;								\  for (i = 0; i < n; ++i)						\    s.a[i] = 12 + n - i;						\  testva##NAME (n, s, n, s);						\}#include "struct-by-value-22_x.c"#undef Tvoidstruct_by_value_22_x (){  int n;DEBUG_INIT#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST) testit##NAME (n);  for (n = 0; n < 16; ++n)    {#include "struct-by-value-22_x.c"      DEBUG_NL;    }  for (; n < 110; n += 13)    {#include "struct-by-value-22_x.c"      DEBUG_NL;    }DEBUG_FINIif (fails != 0)  abort ();}#else#define S(NAME, FIELDS, FIELDINIT, FIELDTEST)				\  T(c##NAME, FIELDS, char, FIELDINIT, FIELDTEST)			\  T(s##NAME, FIELDS, short, FIELDINIT, FIELDTEST)			\  T(u##NAME, FIELDS, unsigned, FIELDINIT, FIELDTEST)			\  T(d##NAME, FIELDS, double, FIELDINIT, FIELDTEST)S(E, , do {} while (0), DEBUG_DOT)S(n, int n;, s.n = n, if (s.n != n) DEBUG_CHECK)#define U(TYPE)								\S(TYPE, TYPE s;, init##TYPE (&s.s, n), check##TYPE (s.s, n))U(Scd)U(Scdc)U(Sd)U(Sdi)U(Scsds)U(Scsdsc)U(Scsdis)U(Scsdisc)U(Ssds)U(Ssdsc)U(Scssdss)U(Scssdssc)U(Sfi)U(Sfii)U(Sfifi)U(Sfiifii)#undef S#undef U#endif

⌨️ 快捷键说明

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