int getValue() { return 42; } int add(int a, int b) { return a + b; } int square(int x) { int result = x * x; return result; } int max(int a, int b) { if (a > b) { return a; } return b; } int main() { printf("=== Functions Tests ===\n"); printf("Testing no-parameter functions...\n"); int val = getValue(); printf("getValue() = %d\n", val); printf("Testing two-parameter functions...\n"); int sum = add(5, 3); printf("add(5, 3) = %d\n", sum); printf("Testing functions with local variables...\n"); int sq = square(7); printf("square(7) = %d\n", sq); printf("Testing conditional functions...\n"); int m1 = max(15, 20); printf("max(15, 20) = %d\n", m1); printf("Testing nested function calls...\n"); int nested = add(square(3), getValue()); printf("add(square(3), getValue()) = %d\n", nested); printf("\n=== All Tests Completed ===\n"); return 0; }