Today lets learn how to swap two integer numbers(using a temporary variable) using Macros in C.
Page Contents
#include<stdio.h> #define SWAP(x, y, temp) temp = x; x = y; y = temp; int main() { int a, b, temp; printf("Enter 2 integer numbers\n"); scanf("%d%d", &a, &b); printf("Before swapping: a = %d and b = %d\n", a, b); SWAP(a, b, temp); printf("After swapping: a = %d and b = %d\n", a, b); return 0; }
Output:
Enter 2 integer numbers
20
50
Before swapping: a = 20 and b = 50
After swapping: a = 50 and b = 20
First value of a is transferred to temp;
Next value of b is transferred to a.
Next value of temp is transferred to b.
That’s how value of a and b are swapped using a temporary variable.
Note: Preprocessor replaces the macro template(SWAP(a, b, temp)) with its corresponding macro expansion(temp = x; x = y; y = temp;) before passing the source code to the compiler.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert