Поскольку ||
и &&
не означают одно и то же.
||
является логическим оператором ИЛИ, поэтому в этом есть смысл, потому что вы запускаете цикл снова, только если ввод не согласно вашей спецификации.Неправильный ввод - это где userInput <1 или userInput> 50.Это неправильно в обоих случаях, но достаточно одного случая, чтобы сделать это неправильно, поэтому вы используете ИЛИ.Не может быть так, чтобы vaue было одновременно <1 и> 50, поэтому оператор AND (&&
) всегда будет возвращать false.
Если вы хотите использовать &&
дляскажем «запустите цикл снова, только если число , а не между 1 и 50», вы должны изменить сравнение на:
while (!(userInput >= 1 && userInput <= 50));
.
Обратите внимание, что !
является оператором НЕ.