Q:

Macro Arguments Evaluation in C

belongs to collection: C Preprocessors Programs

0

Macro Arguments Evaluation in C

We can define a function like Macro, in which we can pass the arguments. When a Macro is called, the Macro body expands or we can say Macro Call replaces with Macro Body.

 

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Consider the example:

#include <stdio.h>

#define CALC(X,Y) (X*Y)

int main()
{ 
	printf("%d\n",CALC(1+2, 3+4));
	return 0;
}

Output

11

Explanation:

If you are thinking that 1+2 and 3+4 will be evaluated before the expansion and it will be expanded as 3*7 then, you are wrong.

The arguments evaluate after the call, thus Macro CALC(1+2,3+4) will be expanded as = (1+2*3+4) = (1+6+4) =(11).

Finally, the output will be 11.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Define a Macro to find total number of elements in... >>
<< Print error message from any function with functio...