The output is 11. Macro is a preprocessor directive. During preprocessing the preprocessor replaces every occurence of x with x*x.
In this case we have b+2 in place of x. so x*x means b+2*b+2.
here b holds the value 3.
hence it becomes (3+2*3+2)
Multiplication has got more precedence than addition. Hence multiplication takes place first and then the addition. So it's (3+6+2).
Hence the output is 11.