This is a normal C routine program which i found out in some question bank. It is shown below:
#define CUBE(p) p*p*p main() { int k; k = 27 / CUBE(3
Your macro is not protected. Try
#define CUBE(p) ((p)*(p)*(p))
The current macro was expanded to
k=27/3*3*3
which is ((27/3)*3)*3