У меня есть следующий код в C:while цикл не работает должным образом с ||
int main() {
int num;
printf("Enter 1, 2 or 3:\n");
scanf("%d", &num);
while(num != 1 || num != 2 || num != 3) {
printf("Try again!\n");
scanf("%d", &num);
}
return 0;
}
В то время как петля никогда не выходит ни на что я вхожу. Что не так с этим кодом?
Когда я ввожу num = 3, цикл while должен быть оценен как false, и он не должен выполняться. Но по какой-то причине это так и есть.
Не могли бы вы рассказать мне, что я делаю неправильно?
Спасибо!
'||' означает "если * любое * из условий истинно" ... –
Для чего вы собираетесь делать, вы должны использовать AND – Mitro
@OliverCharlesworth Хорошо, конечно. Я этого раньше не заметил. :) Как мне изменить код, если одно из условий ложно (так что num = 1, 2 или 3) цикл while не будет выполнен? – SomeOne