DevPrep

All topics › What does it print? Interview puzzles

defer and return: what does the function return?

Junior PRO

Task

func first() -> Int {
    var i = 1
    defer { i = 0 }
    return i
}

func second() -> Int {
    var i = 0
    defer { i = 1 }
    i = 2
    return i
}

print(first(), second())

The rest of this answer, with code and interview follow-ups, is in the DevPrep app.

Read the full answer in DevPrep

Practice this before your interview

DevPrep turns these answers into one-minute challenges: what does this code print, find the bug, mock interviews. One challenge a day.

Get DevPrep on the App Store