Да, это вопрос домашней работы, но я сделал свое исследование и много размышлений по этой теме и не могу понять это. В этом вопросе говорится, что этот кусок кода НЕ показывает поведение короткого замыкания и спрашивает, почему. Но мне кажется, что он проявляет короткое замыкание, поэтому кто-нибудь может объяснить, почему это не так?
В C:
int sc_and(int a, int b) {
return a ? b : 0;
}
Мне кажется, что в случае, когда a
является ложным, программа вообще не будет пытаться оценить b
, но я должен ошибаться. Почему программа даже прикоснется к b
в этом случае, когда ей не нужно?