Помогите...объясните пожалуйста почему так


#1

задание:
let a = 10
let b = 20
func calculate (a: Int, b: Int) -> Int {
return a — b
}
var c = calculate(a: b, b: a)
print(calculate(a: a, b: c))

нужно результат… xcode показывает результат 0

переменная С получается равна 10
но вот с принтом и его результатом не совсем ясно… получается принт снова обращается к телу функции и уже 10 минус переменная С(10), (которая до этого равна уже 10) выходит ноль?


#2


#3

У вас верно работает, результат конечный будет 0.
var c = calculate(a: b, b: a) - тут “с” равно 10
print(calculate(a: a, b: c)) - тут 10 - 10, и выводится результат 0

print() - отображает результат не только переменных/свойств, но и так же запускает функции, если они были переданы.