📄 strify2.c
字号:
/* Copyright (C) 2000 Free Software Foundation, Inc. *//* { dg-do run } *//* { dg-options "-std=c99 -pedantic-errors" } *//* Tests a whole bunch of things are correctly stringified. */extern int strcmp (const char *, const char *);extern int puts (const char *);extern void abort (void);#define err(str) do { puts(str); abort(); } while (0)#define str(x) #x#define xstr(x) str(x)#define strvar(...) #__VA_ARGS__#define glibc_str(x) glibc_str2 (w, x)#define glibc_str2(w, x) #x#define ver GLIBC_2.2int main (int argc, char *argv[]){ str (\); /* { dg-warning "valid string" "str(\\)" } */ str (\\); /* OK. */ str (\\\); /* { dg-warning "valid string" "str(\\\\\\)" } */ /* This also serves as a useful test of the value of __INCLUDE_LEVEL. */ if (strcmp (xstr (__INCLUDE_LEVEL__), "0")) err ("macro expansion"); if (strcmp(str (__INCLUDE_LEVEL__), "__INCLUDE_LEVEL__")) err ("macro name"); if (strcmp(str(), "") || strcmp(str( ), "")) err ("empty string"); if (strcmp(str ("s\n"), "\"s\\n\"")) err ("quoted string"); if (strcmp (str (a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -