Translate

Labels

Saturday 23 February 2013

MACRO CALL


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

OUTPUT:
64

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
  

No comments: