Examveda
Examveda

What will be the output of the following program?
#include<stdio.h>
#define square(x) x*x 
void main()
{ 
      int i; 
      i = 64/square(4); 
      printf("%d", i); 
}

A. 4

B. 64

C. 16

D. None of These

Answer: Option B

Solution(By Examveda Team)

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.


This Question Belongs to C Program >> C Preprocessor

Join The Discussion

Comments ( 1 )

  1. Abdullah Ghanizada
    Abdullah Ghanizada :
    6 years ago

    square(4) = 16;
    therefore,
    i = 64/16 = 4;
    the answer is 4.

Related Questions on C Preprocessor