В цикле 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!='Ж');

Объяснение кода листинга программы

  1. Объявлена переменная типа char с именем sex.
  2. В цикле do-while происходит следующее:
    • Выводится сообщение Sex:.
    • Пользователю предлагается ввести символ, который будет приведён к типу char и будет сохранён в переменной sex.
    • Пока значение переменной sex не равно 'М' или 'Ж', цикл продолжается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы