Запутался в следующем коде

0

Поэтому в настоящее время я изучаю код с использованием C++. Я натолкнулся на следующий код ниже.

    // =======================
    // Lesson 2.4.3 - Do while
    // =======================

    #include<iostream>
    using namespace std;

    int main()
    {
        bool condition = false;

        do
        {
        cout << "Enter a 0 to quit or 1 to continue: ";
        cin >> condition;
        }

        while (condition);
    }

Почему C++ автоматически знает, что 0 прерывает цикл и что 1 продолжает цикл? Это связано с командой, зная, что 0 = false и что что-то выше верно? Спасибо тем, кто может помочь.

Теги:
configuration

5 ответов

1
Лучший ответ

condition переменной имеет тип bool, поэтому значения могут быть true или false. Когда он ложный, цикл завершается. При вводе и выводе для bool 0 равно false, а 1 - true.

2

Вот как работает логическая логика. 0 - false, ничего не равно 0.

  • 0
    Ах, хорошо, я думал, что это как-то связано с этим, но просто не был уверен на 100%. Спасибо за Ваш ответ :)
  • 0
    Библиотека C ++ достаточно умна, чтобы анализировать целое число как логическое значение. Поэтому, когда пользователь вводит 0, он знает, чтобы установить условие в false
Показать ещё 2 комментария
1

Это потому, что while (0) оценивает значение false, поэтому завершает цикл.

  • 0
    Спасибо за Ваш ответ :)
0

Переменная bool может иметь одно условие: true или false. 0 считается ложным, а любое значение, отличное от 0, считается истинным. Таким образом, условие, которое вы написали, (когда условие = true.

while(!0) // body opf while will execute

и когда условие = false, c++ будет интерпретировать это так

while(0)  // and body of do while will not execute.
-1

потому что после считывания ввода условие проверяется while (condition);

while (condition = true);

первый код устанавливается по умолчанию по умолчанию

Это означает, что код в теле цикла while будет циклическим, тогда как значение условия истинно (1)

  • 0
    Это никогда не закончится. (Или до выключения. Что бы ни было первым.)
  • 0
    что вы имеете в виду?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню