Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
#include <iostream>
int main() {
int n = 2;
int a = 1 << n + 1;
int b = n > 1 ? 10 : 20 + 1;
std::cout << a << ' ' << b << '\n';
}8 10
- Ждать
5вa: приоритет+выше, чем у<<, поэтому1 << n + 1— это1 << 3, то есть8. - Ждать
11вb: приоритет?:ниже, чем у+, поэтому20 + 1— весь третий операнд, иbполучает10.
- Где поставить скобки, чтобы
aстала равна5, аb—11? - Почему
std::cout << n > 1;не компилируется, аstd::cout << (n > 1);работает?