Bird
Raised Fist0
Cprogramming~15 mins

Return values in C - Mini Project: Build & Apply

Choose your learning style10 modes available
Return values
📖 Scenario: You are creating a simple calculator program in C that adds two numbers. You will write a function that returns the sum of two integers.
🎯 Goal: Build a C program with a function called add that takes two integers and returns their sum. Then call this function and print the result.
📋 What You'll Learn
Create a function named add that takes two int parameters
The add function must return the sum of the two integers
Call the add function from main with the values 5 and 7
Print the returned result using printf
💡 Why This Matters
🌍 Real World
Functions that return values are used everywhere in programming to calculate results and pass data between parts of a program.
💼 Career
Understanding return values is essential for writing reusable code and working with APIs, libraries, and complex software systems.
Progress0 / 4 steps
1
Create the add function signature
Write the function signature for a function called add that takes two int parameters named a and b and returns an int. Do not write the function body yet.
C
Hint

Function signature includes return type, function name, and parameters.

2
Define the add function body
Write the full definition of the add function that returns the sum of a and b. Use a return statement.
C
Hint

Use return a + b; inside the function body.

3
Call add in main and store result
Write the main function. Inside it, call the add function with arguments 5 and 7, and store the result in an int variable named result.
C
Hint

Call add(5, 7) and assign it to result.

4
Print the result
Add a printf statement in main to print the value of result followed by a newline. Use the format specifier %d.
C
Hint

Use printf("%d\n", result); to print the sum.

Practice

(1/5)
1. What does the return statement do in a C function?
easy
A. It sends a value back to the place where the function was called.
B. It prints a value on the screen.
C. It declares a new variable inside the function.
D. It pauses the program execution.

Solution

  1. Step 1: Understand the purpose of return

    The return statement sends a value from the function back to the caller.
  2. Step 2: Differentiate from other actions

    Printing, declaring variables, or pausing are not what return does.
  3. Final Answer:

    It sends a value back to the place where the function was called. -> Option A
  4. Quick Check:

    Return sends value back [OK]
Hint: Return sends value back to caller, not print or pause [OK]
Common Mistakes:
  • Thinking return prints output
  • Confusing return with variable declaration
  • Assuming return pauses program
2. Which of the following is the correct syntax for a function that returns an integer in C?
easy
A. int myFunction() { return 5; }
B. void myFunction() { return 5; }
C. int myFunction() { print(5); }
D. myFunction() int { return 5; }

Solution

  1. Step 1: Check function return type and return statement

    The function declares int return type and returns an integer value 5.
  2. Step 2: Identify incorrect options

    void myFunction() { return 5; } returns a value but declares void (no return). int myFunction() { print(5); } uses print which is invalid in C. myFunction() int { return 5; } has wrong syntax.
  3. Final Answer:

    int myFunction() { return 5; } -> Option A
  4. Quick Check:

    Return type matches returned value [OK]
Hint: Return type must match returned value type [OK]
Common Mistakes:
  • Using void but returning a value
  • Using print instead of return
  • Wrong function syntax
3. What is the output of this C program?
int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(3, 4);
    printf("%d", result);
    return 0;
}
medium
A. 34
B. 7
C. 0
D. Error

Solution

  1. Step 1: Understand the add function

    The function adds two integers and returns their sum.
  2. Step 2: Calculate the sum of 3 and 4

    3 + 4 equals 7, which is stored in result and printed.
  3. Final Answer:

    7 -> Option B
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Add returns sum; printed result is sum [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Confusing return with print
  • Expecting zero or error output
4. Identify the error in this C function:
int multiply(int x, int y) {
    int product = x * y;
}
medium
A. Variables x and y are not declared.
B. Incorrect multiplication operator.
C. Function name should be void.
D. Missing return statement to return the product.

Solution

  1. Step 1: Check function return type and body

    The function declares it returns an int but does not return any value.
  2. Step 2: Identify missing return statement

    It calculates product but never returns it, causing undefined behavior.
  3. Final Answer:

    Missing return statement to return the product. -> Option D
  4. Quick Check:

    Return missing in non-void function [OK]
Hint: Non-void functions must return a value [OK]
Common Mistakes:
  • Forgetting to return value in non-void function
  • Thinking multiplication operator is wrong
  • Assuming variables are undeclared
5. You want to write a function that returns the maximum of three integers. Which of the following implementations correctly returns the maximum value?
hard
A. int maxOfThree(int a, int b, int c) { if (a > b && a > c) return a; else if (b > a && b > c) return b; else return c; }
B. int maxOfThree(int a, int b, int c) { return a > b > c ? a : b > c ? b : c; }
C. int maxOfThree(int a, int b, int c) { int max = a; if (b > max) max = b; if (c > max) max = c; return max; }
D. int maxOfThree(int a, int b, int c) { if (a > b) return a; else if (b > c) return b; else return c; }

Solution

  1. Step 1: Analyze int maxOfThree(int a, int b, int c) { if (a > b && a > c) return a; else if (b > a && b > c) return b; else return c; } logic

    This version correctly checks if b is greater than both a and c in the else-if condition, fixing the missing cases in the original version.
  2. Step 2: Analyze int maxOfThree(int a, int b, int c) { int max = a; if (b > max) max = b; if (c > max) max = c; return max; } logic

    This compares all values step-by-step and returns the correct maximum.
  3. Step 3: Analyze options C and D

    int maxOfThree(int a, int b, int c) { return a > b > c ? a : b > c ? b : c; } uses invalid chained comparison. int maxOfThree(int a, int b, int c) { if (a > b) return a; else if (b > c) return b; else return c; } misses some cases like when a is not greater than b but b is not greater than c.
  4. Final Answer:

    int maxOfThree(int a, int b, int c) { int max = a; if (b > max) max = b; if (c > max) max = c; return max; } -> Option C
  5. Quick Check:

    Stepwise max update returns correct max [OK]
Hint: Compare stepwise and return max variable [OK]
Common Mistakes:
  • Using chained comparisons incorrectly
  • Missing some comparison cases
  • Returning before checking all values
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard