when i am using #define function,I observe something bizarre. In the below code if I gave i value as \'10\' from input i
#define
i
\'10\'
What you have is undefined behaviour.
You Double(++i) is changed to ++i * ++i, when you compile you code.
Double(++i)
++i * ++i