Objective
Write a function that exchanges the two char * pointers held at two addresses, without touching a single character of either string.
Steps
$ a = "alpha", b = "beta", swap_str(&a, &b)
a=[beta] b=[alpha]
$ a = "", b = "cargo build --release", swap_str(&a, &b)
a=[cargo build --release] b=[]
$ a points at one[] = "alpha", b points at two[] = "beta", swap_str(&a, &b)
one=[alpha] two=[beta] a=[beta] b=[alpha]
$ a = "git bisect", swap_str(&a, &a)
a=[git bisect]
$ b = "make -j8", swap_str(NULL, &b)
b=[make -j8]
Expected files
Allowed functions
None. Write every helper yourself.
Allowed headers

Objective
Write a function that exchanges the two char * pointers held at two addresses, without touching a single character of either string.
Steps
$ a = "alpha", b = "beta", swap_str(&a, &b)
a=[beta] b=[alpha]
$ a = "", b = "cargo build --release", swap_str(&a, &b)
a=[cargo build --release] b=[]
$ a points at one[] = "alpha", b points at two[] = "beta", swap_str(&a, &b)
one=[alpha] two=[beta] a=[beta] b=[alpha]
$ a = "git bisect", swap_str(&a, &a)
a=[git bisect]
$ b = "make -j8", swap_str(NULL, &b)
b=[make -j8]
Expected files
Allowed functions
None. Write every helper yourself.
Allowed headers

Tests
Run the tests to grade your code