печать логического значения в переполнении стека

#include <iostream>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< a==b;
}

Почему я не могу напечатать этот код. Как я могу печатать логическое значение?

0

Решение

Вы имеете дело с проблемой приоритета оператора:

cout << a==b;

интерпретируется как

(cout << a) == b;

так как << имеет более высокий приоритет, чем ==.

7

Другие решения

использование станд :: boolalpha напечатать как true или же false, И добавьте скобки, см. Ответ Вона Катона для объяснения.

#include <iostream>
#include <iomanip>
using namespace std ;
int main()
{
int a=5, b=4;
cout<< boolalpha << (a==b);
}
6

Вы должны поставить круглые скобки вокруг вашего теста:

cout<< (a==b);
1

Положите круглые скобки (скобки) вокруг a==b:

cout<< (a==b);

Это необходимо, потому что << имеет больший приоритет оператора, чем ==,

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector