Как написать вложенный оператор if?

Итак, я хочу сделать простой оператор if, подобный этому:

if (a=1)
{
    if (variable1=1)
    {
        cout<<"a1=1";
    }
    else
    {
        cout<<"error";
    }
}

if (a=2)
{
    if (variable1=1)
    {
        cout<<"a2=1"
    }
    else
    {
        cout<<"error";
    }
}

Проблема : Когда я устанавливаю a равным 2 и variable1 равным 1, он просто напечатает a1=1, а не a2=1. Как я могу это исправить? Извините, если в этом посте есть ошибки или плохой английский. Надеюсь, кто-нибудь ответит...

if (a=1) должно быть if (a==1)
Galik 14.05.2022 07:38

хорошо подожди дай мне сделать это

BabyAbhiDevs 14.05.2022 07:40

@Галик, а как насчет < или > ??

BabyAbhiDevs 14.05.2022 07:40

Они в порядке. Ваша ссылка C++ должна объяснять разницу между =(назначение) и ==(сравнение).

Galik 14.05.2022 07:42

@Galik, но когда я добавляю такой оператор if и хочу, чтобы он был < или >, он просто дает ту же ошибку ... так что вы можете мне помочь с этим?

BabyAbhiDevs 14.05.2022 07:45

У меня работают и <, и >. Я думаю, вам, возможно, придется более конкретно указать, что в них не работает.

Galik 14.05.2022 07:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
6
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы используете оператор присваивания (=) вместо оператора сравнения (==). Оператор присваивания всегда будет возвращать истину, если присваивание выполнено успешно, поэтому он идет в первом операторе if.

Чтобы решить эту проблему, измените = на == в своем коде.

if (a == 1){

}

хорошо, а вы можете дать ответ для оператора < и >?

BabyAbhiDevs 14.05.2022 07:42

Другие вопросы по теме