Потумучто там два раза суммируется b, 5 и 5+1
Можно пошагово?? Почему там в конце 8?
b = 5 b++ = 6 bar(b++) = 5 + 6 8 не меняет результат вообще
Не люблю такие тесты, просто в жизни такого не дадут написать
Я сейчас задачи разбираю
Правильно, никому ты нахер с этим не нужен, главное интернет-магазины и crm соло пили
Всё равно не понимаю почему b суммируется с b? Функция bar(a) возвращает b+a
bar принимает аргумент ты в этот аргумент передаёшь b++ у тебя внутри bar, a это b++
Потому что (a) это просто аргумент а не 8, что положил в нее то и лежит в даном случае 5++
То есть bar(a) возвращает b+a при этом b уже равно 5, а а =b++ то есть 6. Тогда причём тут foo (8) ?
просто кто то решил с неймингом сделать уловку
В итоге чем эта (8) является?
аргумент который попал в функцию но нигде не используется, просто есть и всё
Я правильно расписал логику пару сообщений назад?
такой код на самом деле читать не очень легко, смысла код не несет, за-то путает до ужаса, нужно по крупинкам в мозге прогонять что к чему относится
И на решение этого кода даётся 15 секунд)
если ты говорил об (a) которая находится в bar, то верно
Спасибо за объяснение
Но ведь если нет какого-то ограничения, можно разобрать код как он работает сначала не в голове, а в консоли. Код легкий в плане кол-во символом, написал, расставили консольки и глянул как это будет.
11 потому, что внутри второй функции - bar, принимающий аргумент "а", на выходе вызов этой функции с параметром b++, а твое b = 5; Так ты получаешь аргумент "а" с параметром "5"; А вот твое b, это уже 6, так, как есть b++. Вот будет просто b и станет b =5; Так и получается, что ты вернешь из foo результат bar, а это 5+6 = 11 (результат 11); В момент вызова foo(8) толку нет ибо это параметр, вот только он нигде не используется. Даже редактор умный если, то подстветет, что "стоп, у тебя параметр функции не задействован"
Чел ты монстр какой то
Обсуждают сегодня