Interview Question 3546

Created by admin on Sat, 17/11/2012 - 12:27
Explanation: 
The macro call square(4) will substituted by 4*4 so the expression becomes i = 64/4*4 . Since / and * has equal priority the expression will be evaluated as (64/4)*4 i.e. 16*4 = 64.
Question: 

#define square(x) x*x main()
{
int i;
i = 64/square(4);
printf("%d",i);
}

Language: 
Answer: 

64