Can the following macro bring problems?
#define sq(x) x*x
If yes, then how and why?please help.
While writing macros use brackets excessively. Rewrite the macro as follows
#define sq(x) ((x)*(x))
If you don't do this then you will have problems in cases where macro is used as sq(5+4)
sq(5+4)
To understand the problem do macro expansion and see.