assignment-s-07.c ​
Metadata ​
- Author — Amit Dutta (amitdutta4255@gmail.com)
- Last updated — 12 Dec 2025
- License — MIT
Problem Statement ​
Problem Statement
Write a program to swap two numbers using a macro (#define).
Source Code ​
Printing the code
To print this file, open it on GitHub and click Raw before printing, or use the Download Raw button above and print directly from that page.
c
#include <stdio.h>
// Define the SWAP macro.
// The do-while(0) block is a common trick to ensure the macro behaves
// like a single statement, regardless of where it is used (e.g., inside an 'if' statement).
#define SWAP(a, b, data_type) \
do { \
data_type temp = a; \
a = b; \
b = temp; \
} while(0)
int main() {
int num1 = 15;
int num2 = 42;
printf("--- Before Swap ---\n");
printf("Number 1 (num1): %d\n", num1);
printf("Number 2 (num2): %d\n", num2);
// Call the macro, passing the variables and their type
// The preprocessor replaces this line with the block of code defined above.
SWAP(num1, num2, int);
printf("\n--- After Swap (using macro) ---\n");
printf("Number 1 (num1): %d\n", num1);
printf("Number 2 (num2): %d\n", num2);
return 0;
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30