Я не понимаю, как это работает! В этой задаче переменные a и b - аргументы и функции min(a, b) и функции min (a, b, c, d).
Почему не ругается, если вызвать функцию min(c, d)?
Алексей
5 уровень
min(a,b) и min(c, d)
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас Пасинков Software Developer в Zipy Master
17 апреля 2019, 22:08полезный
почитайте про области видимости переменных.
конкретно, про область видимости локальных переменных.
они видны только в рамках ближайших фигурных скобочек, что их окружают.
когда с этим окончательно разберетесь и уясните - прочитайте про перекрытие переменных.
это когда где-то во вне объявлены переменные. а потом внутри какого-то блока кода (фигурных скобочек) объявляются переменные с такими же названиями. тогда вот эти новые "перекрывают" собой те, которые были объявлены вне этого блока кода. но при выходе их этого блока кода - мы снова видим те внешние и не видим тех внутренних.
плохо объяснил, знаю. поэтому лучше почитайте нормальне объяснения в интернетах))
и когда уже разберетесь и с этим - тогда ваш вопрос по этой задаче должен будет отпасть сам собой, и вам станет все понятно)) +1
hidden #2054204
17 апреля 2019, 19:12полезный
Этими переменными функция/метод оперирует внутри себя.
Вы ей подаете на вход числовые значение, она присваивает эти значения своим внутренним переменным и производит операции, которые в ней заложены. Это как игроки в команде. В каждой команде есть вратарь, защитник, нападающий, но эти позиции они занимают только в своей команде. Так и здесь, считайте что функция/метод это команда, а переменные это игроки.
Если Вы хотите, что бы программа ругалась, то в имени функции/метода напишите а и в, а теле функции оперируйте с переменными с и d. Тогда заругается будь здоров! :)
типа так:
+1
IceBergMaster
17 апреля 2019, 19:11полезный
Параметры (a, b) это то, что мы пишем при объявлении метода, и используем в его реализации(локальные переменные)
Аргументы, это значения которые вы передаете в функцию при вызове.
Можно хоть min(1, 2) хоть min(5, b), хоть min(c, d).
(a, b) не имеют отношения к (a, b) другого.
+1