2 added 8 characters in body edited Feb 22 '14 at 22:47 H2CO3 24122 silver badges77 bronze badges It's a common misconception that in C, whitespace doesn't matter. I can't imagine somebody hasn't come up with this in GNU C: #include #define _CATCAT_IMPL(c, d) (c ## d) #define CAT(c, d) _CATCAT_IMPL(c, d) #define x CAT(a, __LINE__) int main() { int a9 = 2, a10 = 0; printf("%d\n", x == x + 2); return 0; }  Prints 1. It's a common misconception that in C, whitespace doesn't matter. I can't imagine somebody hasn't come up with this in GNU C: #include #define _CAT(c, d) (c ## d) #define CAT(c, d) _CAT(c, d) #define x CAT(a, __LINE__) int main() { int a9 = 2, a10 = 0; printf("%d\n", x == x + 2); return 0; }  Prints 1. It's a common misconception that in C, whitespace doesn't matter. I can't imagine somebody hasn't come up with this in GNU C: #include #define CAT_IMPL(c, d) (c ## d) #define CAT(c, d) CAT_IMPL(c, d) #define x CAT(a, __LINE__) int main() { int a9 = 2, a10 = 0; printf("%d\n", x == x + 2); return 0; }  Prints 1. Post Made Community Wiki by PleaseStand occurred Oct 21 '12 at 22:35 1 answered Sep 6 '12 at 22:05 H2CO3 24122 silver badges77 bronze badges It's a common misconception that in C, whitespace doesn't matter. I can't imagine somebody hasn't come up with this in GNU C: #include #define _CAT(c, d) (c ## d) #define CAT(c, d) _CAT(c, d) #define x CAT(a, __LINE__) int main() { int a9 = 2, a10 = 0; printf("%d\n", x == x + 2); return 0; }  Prints 1.