Task: Write two swap functions: one by value (no effect on caller) and one using pointers (effect visible). Show before/after.
#include <stdio.h>
void swap_by_value(int a, int b) { int t=a; a=b; b=t; }
void swap_by_ref(int* a, int* b) { int t=*a; *a=*b; *b=t; }
int main(void) {
int x, y;
printf("Enter x y: ");
if(scanf("%d %d", &x, &y) != 2){ printf("Invalid input.\n"); return 0; }
printf("Before: x=%d y=%d\n", x, y);
swap_by_value(x, y);
printf("After swap_by_value: x=%d y=%d (no change)\n", x, y);
swap_by_ref(&x, &y);
printf("After swap_by_ref : x=%d y=%d\n", x, y);
return 0;
}