Challenge 1: One Function Pointer, Pointed at Two Different Functions — Possible Solution ==================================================================== #include int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int main() { int (*operation)(int, int); operation = add; printf("add: %d\n", operation(10, 3)); operation = subtract; printf("subtract: %d\n", operation(10, 3)); return 0; } Output: add: 13 subtract: 7 WHY THIS WORKS AS AN ANSWER ------------------------------ The single variable operation is declared once with the correct function-pointer syntax (parentheses around *operation, matching the chapter's own syntax warning), then reassigned between two different functions with matching signatures -- calling operation(10, 3) after each assignment dispatches to whichever function it currently points at, demonstrating that the call syntax itself never changes even though the actual behavior does.