Challenge - 5 Problems
Swift Default Parameter Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of function with default parameters
What is the output of this Swift code when calling
greet() without any arguments?Swift
func greet(name: String = "Friend", greeting: String = "Hello") { print("\(greeting), \(name)!") } greet()
Attempts:
2 left
💡 Hint
Check the default values assigned to the parameters in the function definition.
✗ Incorrect
The function
greet has default values for both parameters. Calling greet() uses those defaults, printing "Hello, Friend!".❓ Predict Output
intermediate2:00remaining
Function call with one default parameter overridden
What will be printed when calling
greet(name: "Alice") with the function below?Swift
func greet(name: String = "Friend", greeting: String = "Hello") { print("\(greeting), \(name)!") } greet(name: "Alice")
Attempts:
2 left
💡 Hint
Only the
name parameter is provided; the other uses its default.✗ Incorrect
The
name parameter is set to "Alice" explicitly, while greeting uses its default "Hello".❓ Predict Output
advanced2:00remaining
Output with default parameters and argument labels
What is the output of this Swift code?
Swift
func calculateArea(width: Int = 10, height: Int = 5) -> Int { return width * height } print(calculateArea(height: 3))
Attempts:
2 left
💡 Hint
The
width parameter uses its default value.✗ Incorrect
The call provides
height: 3 but omits width, so width defaults to 10. The area is 10 * 3 = 30.❓ Predict Output
advanced2:00remaining
Default parameter with mutable variable
What will be printed after this code runs?
Swift
var count = 5 func increment(by amount: Int = count) -> Int { return amount + 1 } count = 10 print(increment())
Attempts:
2 left
💡 Hint
Swift requires default parameter values to be compile-time constants; variables are not allowed.
✗ Incorrect
Swift does not allow using variables as default parameter values because they must be compile-time constants. This code will not compile.
🧠 Conceptual
expert2:00remaining
Why default parameter values must be compile-time constants
Why does Swift require default parameter values to be compile-time constants or literals?
Attempts:
2 left
💡 Hint
Think about when the default value is set and how it relates to program execution.
✗ Incorrect
Swift evaluates default parameter values at compile time to ensure consistent behavior and avoid runtime errors from changing values.