В цикле do-while не работает оператор != - C (СИ)
Формулировка задачи:
Здравствуйте Нарисовалась такая проблема: в общем, мы вводим строку (в данном случае это "пол") и хотим ограничить пользователя, чтобы, кроме "М" и "Ж", он больше ничего не ввел. Суть в том, что цикл не хочет работать с оператором !=. Помогите найти ошибку. Заранее спасибо.
#include <stdio.h>
#include <string.h>
int main(void)
{
char sex[3], sexM[3]="m", sexJ[3]="j";
do {
printf("Sex:");
scanf("%s", sex);
} while (strcmpi(sex,sexM) != 0 || strcmp(sex,sexJ) != 0);
return 0;
}Решение задачи: «В цикле do-while не работает оператор !=»
textual
Листинг программы
char sex;
do {
printf("Sex:");
scanf("%c", sex);
} while (sex!='М' && sex!='Ж');
Объяснение кода листинга программы
- Объявлена переменная типа char с именем
sex. - В цикле do-while происходит следующее:
- Выводится сообщение
Sex:. - Пользователю предлагается ввести символ, который будет приведён к типу char и будет сохранён в переменной
sex. - Пока значение переменной
sexне равно 'М' или 'Ж', цикл продолжается.
- Выводится сообщение