Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
fun diff(a: Int, b: Int): Int {
return a - b
}
fun main() {
println(diff(10, diff(6, 2)))
}6
- Ждать
2: читать это как10 - 6 - 2слева направо. Сначала выполняется внутренний вызов, он возвращает4, и лишь потомdiff(10, 4)возвращает6. - Ждать
-14: считать, что аргументы заполняют параметры с конца. Первый аргумент попадает вa, второй — вb, поэтомуdiff(6, 2)— это4.
- Что выведет
diff(diff(10, 6), 2)и почему результат другой? - Как записать
diffодной строкой, через= a - bвместо блока?