20050502-1.c
来自「用于进行gcc测试」· C语言 代码 · 共 68 行
C
68 行
/* PR rtl-optimization/21330 */extern void abort (void);extern int strcmp (const char *, const char *);int__attribute__((noinline))bar (const char **x){ return *(*x)++;}int__attribute__((noinline))baz (int c){ return c != '@';}void__attribute__((noinline))foo (const char **w, char *x, _Bool y, _Bool z){ char c = bar (w); int i = 0; while (1) { x[i++] = c; c = bar (w); if (y && c == '\'') break; if (z && c == '\"') break; if (!y && !z && !baz (c)) break; } x[i] = 0;}intmain (void){ char buf[64]; const char *p; p = "abcde'fgh"; foo (&p, buf, 1, 0); if (strcmp (p, "fgh") != 0 || strcmp (buf, "abcde") != 0) abort (); p = "ABCDEFG\"HI"; foo (&p, buf, 0, 1); if (strcmp (p, "HI") != 0 || strcmp (buf, "ABCDEFG") != 0) abort (); p = "abcd\"e'fgh"; foo (&p, buf, 1, 1); if (strcmp (p, "e'fgh") != 0 || strcmp (buf, "abcd") != 0) abort (); p = "ABCDEF'G\"HI"; foo (&p, buf, 1, 1); if (strcmp (p, "G\"HI") != 0 || strcmp (buf, "ABCDEF") != 0) abort (); p = "abcdef@gh"; foo (&p, buf, 0, 0); if (strcmp (p, "gh") != 0 || strcmp (buf, "abcdef") != 0) abort (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?