В цикле 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
не равно 'М' или 'Ж', цикл продолжается.
- Выводится сообщение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д