JuniorКодИногдаЕщё не отвечали
Что выведут c, c + 1 и char(c + 1)?
Предскажите вывод при char c = 'A'.
char c = 'A';
std::cout << c << " " << c + 1 << " " << char(c + 1);
Определите вывод и объясните.
A 66 B. c печатается как символ A. В c + 1 тип char повышается до int, поэтому результат — 66, печатается как число. Приведение обратно char(c + 1) снова делает его char, и поток печатает 'B' (ASCII 66).
- ✗Думать, что арифметика над char сохраняет тип char
- ✗Считать, что вывод char печатает его числовой код
- ✗Упускать, что явное приведение к char меняет форматирование в потоке
- →Почему
std::cout << cпечатает букву, аstd::cout << c + 1— число? - →К какому целому типу повышается
charв арифметике?