Macro Arguments Evaluation in C

Macro Arguments Evaluation in C: Here, we will learn how Macro arguments evaluate in C programming language?
By IncludeHelp Last updated : March 10, 2024

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.

Now, the important thing is that: How Macro arguments evaluate? - "Macro arguments do not evaluate before Macro expansion, they evaluate after the expansion."

Consider the example:

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.

C Preprocessors Programs »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.