Vidyalelo
C Programming · Q34

C Preprocessor

Programming · C Programming · question 34

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
Answer
C.
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.