From 380e760eb23ea70d013726b2f3cbfa726c23aeb6 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 26 Dec 2021 20:18:14 +0800 Subject: 4.14 --- 4/14.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 4/14.c (limited to '4/14.c') diff --git a/4/14.c b/4/14.c new file mode 100644 index 0000000..f142257 --- /dev/null +++ b/4/14.c @@ -0,0 +1,32 @@ +#include + +#define swap(t, x, y) \ + { \ + t z = x; \ + x = y; \ + y = z; \ + } + +/* Swaps two arguments using a macro */ +int main(int argc, char *argv[]) { + int a, b; + double x, y; + char *s1, *s2; + + a = 1; + b = 2; + swap(int, a, b); + printf("\ta=%d, b=%d\n", a, b); + + x = 3.0; + y = 5.5; + swap(double, x, y); + printf("\tx=%f, y=%f\n", x, y); + + s1 = "hello"; + s2 = "world"; + swap(char *, s1, s2); + printf("\ts1=%s, s2=%s\n", s1, s2); + + return 0; +} \ No newline at end of file -- cgit v1.2.3