Bird
Raised Fist0
Swiftprogramming~20 mins

No implicit fallthrough in switch in Swift - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Swift Switch Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of switch without explicit fallthrough
What will be the output of this Swift code snippet?
Swift
let number = 2
switch number {
case 1:
    print("One")
case 2:
    print("Two")
case 3:
    print("Three")
default:
    print("Other")
}
AOther
BTwo\nThree
COne\nTwo
DTwo
Attempts:
2 left
💡 Hint
Remember that Swift switch cases do not fall through by default.
❓ Predict Output
intermediate
2:00remaining
Effect of fallthrough keyword in Swift switch
What will be printed when this Swift code runs?
Swift
let value = 1
switch value {
case 1:
    print("Start")
    fallthrough
case 2:
    print("Middle")
case 3:
    print("End")
default:
    print("Default")
}
AStart\nMiddle
BStart
CStart\nMiddle\nEnd
DMiddle
Attempts:
2 left
💡 Hint
Check what the 'fallthrough' keyword does in Swift switch cases.
🔧 Debug
advanced
2:00remaining
Why does this Swift switch code not compile?
Identify the reason this Swift code causes a compile error.
Swift
let x = 5
switch x {
case 1:
    print("One")
case 2:
    print("Two")
case 3:
    print("Three")
}
AVariable x must be mutable (var) to use in switch
BSwitch cases must have fallthrough keyword
CMissing default case causes compile error
DPrint statements must be inside braces
Attempts:
2 left
💡 Hint
Swift switch statements must be exhaustive for non-enum types.
🧠 Conceptual
advanced
2:00remaining
Understanding no implicit fallthrough in Swift switch
Which statement best describes Swift's switch behavior regarding fallthrough?
ASwift switch cases never fall through unless 'fallthrough' keyword is explicitly used
BSwift switch requires 'continue' keyword to fall through cases
CSwift switch cases automatically fall through to the next case unless 'break' is used
DSwift switch cases fall through only if cases share the same code block
Attempts:
2 left
💡 Hint
Think about how Swift differs from C-like languages in switch behavior.
🚀 Application
expert
3:00remaining
Predict the output with multiple fallthroughs in Swift switch
What is the output of this Swift code?
Swift
let n = 1
switch n {
case 1:
    print("A")
    fallthrough
case 2:
    print("B")
    fallthrough
case 3:
    print("C")
default:
    print("D")
}
AA\nB
BA\nB\nC
CA
DA\nB\nC\nD
Attempts:
2 left
💡 Hint
Each fallthrough moves execution to the next case regardless of its condition.

Practice

(1/5)
1. What happens if you do not use fallthrough in a Swift switch statement?
easy
A. Only the matched case runs; no automatic fallthrough to the next case.
B. All cases after the matched one run automatically.
C. The program throws a runtime error.
D. The switch statement ignores the matched case.

Solution

  1. Step 1: Understand Swift switch behavior

    Swift switch statements do not automatically continue to the next case after a match.
  2. Step 2: Role of fallthrough keyword

    To continue to the next case, you must explicitly use the fallthrough keyword.
  3. Final Answer:

    Only the matched case runs; no automatic fallthrough to the next case. -> Option A
  4. Quick Check:

    No implicit fallthrough = matched case only [OK]
Hint: Remember: Swift switch stops after matched case unless fallthrough used [OK]
Common Mistakes:
  • Assuming all cases run after a match like in C
  • Forgetting to add fallthrough when needed
  • Expecting runtime errors without fallthrough
  • Thinking switch ignores matched cases
2. Which of the following is the correct syntax to explicitly continue to the next case in a Swift switch?
easy
A. Use the keyword continue inside the case.
B. No syntax needed; Swift does it automatically.
C. Use the keyword fallthrough inside the case.
D. Use a comma , between cases.

Solution

  1. Step 1: Identify the keyword for fallthrough

    Swift uses the keyword fallthrough to continue to the next case.
  2. Step 2: Eliminate incorrect options

    continue is for loops, commas separate cases but don't cause fallthrough, and Swift does not do it automatically.
  3. Final Answer:

    Use the keyword fallthrough inside the case. -> Option C
  4. Quick Check:

    Explicit fallthrough keyword = fallthrough [OK]
Hint: Use fallthrough keyword to continue to next case in Swift switch [OK]
Common Mistakes:
  • Confusing fallthrough with continue
  • Using commas to join cases expecting fallthrough
  • Assuming automatic fallthrough without keyword
  • Using break to continue to next case
3. What is the output of the following Swift code?
let number = 2
switch number {
 case 1:
   print("One")
 case 2:
   print("Two")
   fallthrough
 case 3:
   print("Three")
 default:
   print("Other")
}
medium
A. Three
B. Two Three
C. Two
D. Two Three Other

Solution

  1. Step 1: Identify matched case

    The value 2 matches case 2, so it prints "Two".
  2. Step 2: Check for fallthrough

    Since fallthrough is used, execution continues to case 3, printing "Three".
  3. Final Answer:

    Two Three -> Option B
  4. Quick Check:

    fallthrough causes next case to run = Two and Three [OK]
Hint: Look for fallthrough keyword to know if next case runs [OK]
Common Mistakes:
  • Ignoring fallthrough and printing only "Two"
  • Printing "Three" only without "Two"
  • Expecting default case to run
  • Assuming all cases print
4. Identify the error in this Swift switch statement:
let value = 3
switch value {
 case 1:
   print("One")
 case 2:
   print("Two")
 case 3:
   print("Three")
   fallthrough
 case 4:
   print("Four")
   fallthrough
 case 5:
   print("Five")
}
medium
A. Missing default case causes a compile error.
B. Multiple fallthroughs cause a runtime error.
C. No error; code runs and prints Three, Four, Five.
D. Fallthrough cannot be used in the last case.

Solution

  1. Step 1: Exhaustiveness requirement

    Swift switch on Int must be exhaustive: cover all possible values or add default. Cases 1-5 don't cover all Ints, no default: compile error.
  2. Step 2: Fallthrough usage is valid

    Fallthroughs in cases 3 and 4 are allowed; no fallthrough in case 5 (correct); multiples OK, no runtime issues.
  3. Final Answer:

    Missing default case causes a compile error. -> Option A
  4. Quick Check:

    Non-exhaustive switch on Int = compile error [OK]
Hint: Swift switch on Int needs default unless all cases covered [OK]
Common Mistakes:
  • Picking A: no fallthrough in last case
  • Picking B: multiple fallthroughs allowed
  • Picking C: ignores compile-time exhaustiveness error
  • Thinking value=3 makes it exhaustive
5. You want to print all numbers from a matched case up to 5 in a Swift switch. Which code correctly uses fallthrough to achieve this?
let num = 3
switch num {
 case 1:
   print(1)
   fallthrough
 case 2:
   print(2)
   fallthrough
 case 3:
   print(3)
   fallthrough
 case 4:
   print(4)
   fallthrough
 case 5:
   print(5)
 default:
   print("Done")
}
hard
A. This code prints 1 to 5 regardless of num.
B. This code prints only 3 when num is 3.
C. This code causes a compile error due to fallthrough in default.
D. This code prints 3, 4, 5 when num is 3.

Solution

  1. Step 1: Identify matched case and fallthrough chain

    When num is 3, case 3 matches and prints 3, then fallthrough continues to cases 4 and 5 printing 4 and 5.
  2. Step 2: Confirm output and default usage

    Default is not reached because cases 3 to 5 cover the fallthrough chain; no error occurs.
  3. Final Answer:

    This code prints 3, 4, 5 when num is 3. -> Option D
  4. Quick Check:

    Fallthrough chains print from matched case to end [OK]
Hint: Use fallthrough in each case to print all following cases [OK]
Common Mistakes:
  • Expecting only matched case to print
  • Thinking default runs after fallthrough chain
  • Assuming compile error from fallthrough in default
  • Believing all cases print regardless of match
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