#include <iostream>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< a==b;
}
Почему я не могу напечатать этот код. Как я могу печатать логическое значение?
Вы имеете дело с проблемой приоритета оператора:
cout << a==b;
интерпретируется как
(cout << a) == b;
так как << имеет более высокий приоритет, чем ==.
использование станд :: boolalpha напечатать как true
или же false
, И добавьте скобки, см. Ответ Вона Катона для объяснения.
#include <iostream>
#include <iomanip>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< boolalpha << (a==b);
}
Вы должны поставить круглые скобки вокруг вашего теста:
cout<< (a==b);
Положите круглые скобки (скобки) вокруг a==b
:
cout<< (a==b);
Это необходимо, потому что <<
имеет больший приоритет оператора, чем ==
,