Changes

Jump to: navigation, search

C/C++ FAQ

444 bytes added, 18:32, 26 September 2012
no edit summary
:# cout << x ) ((x) + (x)) a);
Note: in the second case, F( is considered the symbolic constant and is replaces by the rest of the string i.e. x ) ((x) + (x)) wherever it occurs.
 
'''A:''' cout << ((a) + (a)) will be executed. Although the compiler differentiates the symbolic constant from its value based on the position of the whitespace, ( tells it that it is a functional definition. #define follow the same identifier naming rules as variables do. Hence, ( cannot be included in the symbolic constant name and so the symbolic constant cannot be F(. Therefore, the compiler interprets this as a functional directive.

Navigation menu