/* preprocessor test #1 */ #define hash_hash # ## # #define mkstr(a) # a #define in_between(a) mkstr(a) #define join(c, d) in_between(c hash_hash d) #define x "first" #define y "second" char p[] = join(x, y); // Comment #include #include #include int main(void) { printf("expected: %s\n", "\"first\" ## \"second\""); printf("p: %s\n", p); if (!strcmp(p, "\"first\" ## \"second\"")) { return EXIT_SUCCESS; } printf("all fine\n"); return EXIT_FAILURE; }