Q34
What will be the output of the following program? #include #define square(x) x*x void main() int i; i = 64/square(4); printf("%d", i);
A.
4
B.
64
AnswerC.
16
D.
None of These
Answer: Option B
Solution
Answer: Option B
Solution:
The macro call square(4) will be substituted by 4*4 so the expression becomes i = 64/4*4 . Since / and * has equal priority and associativity left to right, so the expression will be evaluated as (64/4)*4 i.e. 16*4 = 64.