Recursion

AP Computer Science A· difficulty 4/5

public static int sum(int n) {
    if (n == 1) return 1;
    return n + sum(n - 1);
}
sum(0);

What happens for sum(0)?

  • A

    StackOverflowError

    check_circle
  • B

    Returns 0

  • C

    Returns 1

  • D

    Compile-time error

Explanation

Base case is n == 1; calling with 0 leads to -1, -2, ... and never reaches 1, causing infinite recursion.

Want 10 more like this — adaptive to your weak spots?

Related questions