Поэтому в настоящее время я изучаю код с использованием 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 и что что-то выше верно? Спасибо тем, кто может помочь.
condition
переменной имеет тип bool
, поэтому значения могут быть true
или false
. Когда он ложный, цикл завершается. При вводе и выводе для bool
0 равно false, а 1 - true.
Вот как работает логическая логика. 0 - false, ничего не равно 0.
false
Это потому, что while (0) оценивает значение false, поэтому завершает цикл.
Переменная 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.
потому что после считывания ввода условие проверяется while (condition);
while (condition = true);
первый код устанавливается по умолчанию по умолчанию
Это означает, что код в теле цикла while будет циклическим, тогда как значение условия истинно (1)