...
Once this modification is made, the noncompliant code example no longer compiles because the macro expansion results in the conditional expression getchar() (-1)
, which is no longer syntactically valid. Note that there must be a space after EOF
because, otherwise, it becomes a function-like macro (and one that is incorrectly formed because -1 −1 cannot be a formal parameter).
...