Почему большинство языков программирование разрешают присваивание в условии?

Это повышает количество ошибок и снижает читаемость кода. В каких случаях такое присваивание может быть полезно?
  • Вопрос задан
  • 296 просмотров
Пригласить эксперта
Ответы на вопрос 3
char c;
while ((c = getchar()) != EOF) {
  // do something
}

Но вообще это хак конечно. В Python, Ruby, Rust например так делать нельзя, и это правильно я считаю.
Ответ написан
Комментировать
Они оперируют конструкциями и выражениями. Выражение - это все, что имеет значение, и это причина тому, что выражения можно использовать в условиях. Их можно также использовать вкупе с оператором return - это ведь никого не смущает? А выражения в условии for? Стало быть, не должны смущать выражения и в условиях, тем паче, что иногда это очень красиво.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Это удобно, когда нужно получить значение из функции или метода для условия с последующим многократным применением внутри выражения в условии:
if(a=getA()&&a>b){...}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы