Это плохое кодирование, так как оно может запутать новых программистов.
Функция, предполагая, что она проходит по значению, как в приведенном выше примере (в отличие от передачи по ссылке), берет копию y
, уменьшает его и назначает ему b
. Он не изменяет аргумент, переданный функции, когда он был вызван.