Форум программистов, компьютерный форум CyberForum.ru

Вывод переменной типа char - C++

Восстановить пароль Регистрация
 
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
25.06.2012, 12:48     Вывод переменной типа char #1
Переменная x типа char.

C++
1
2
x = 65;
cout << x;
Так выводиться "A".

C++
1
2
x = 64;
cout << x+1;
А так "65".

Получается меня значение x когда выводишь нельзя? Меняется тип ?

C++
1
2
x = 64;
cout << char(x+1);
Если выводить так, то снова "A".
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
25.06.2012, 12:53     Вывод переменной типа char #2
sievmi, в последнем примере вы делаете явное приведение типа. А в среднем компилятор не понимает чего вы от него хотите, ведь char можно рассматривать как маленькое число(1 байт)
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
25.06.2012, 12:56  [ТС]     Вывод переменной типа char #3
Invader_Zim, тоесть, если я хочу изменять значение char-переменной прямо при выводе, то мне всегда нужно приводить тип как в последнем примере( что бы был напечатан символ) , а иначе компилятор будет понимать это как число?
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
25.06.2012, 13:01     Вывод переменной типа char #4
sievmi, если вы используете различные приемы типа 64+1 то да
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
25.06.2012, 13:21  [ТС]     Вывод переменной типа char #5
Цитата Сообщение от Invader_Zim Посмотреть сообщение
А в среднем компилятор не понимает чего вы от него хотите, ведь char можно рассматривать как маленькое число(1 байт)
Я тут перечитал главу в книге про преобразование типов в выражениях и получается сдесь у меня просто образовался тип int .

Вот цитата из книги :
"В выражениях все char и short int значения автоматически преобразуются ( с расширением "типоразмера") в тип int.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
25.06.2012, 13:23     Вывод переменной типа char #6
sievmi, у разных компиляторов разные завороты. Лучше всего всегда явно приводить тип, если только вы не хотите запутать код, и пишете только под одну платформу под одним компилятором.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 13:31     Вывод переменной типа char
Еще ссылки по теме:

C++ Присвоить переменной Char значение третьего байта переменно типа Int
Использование знака пробел при вводе переменной типа char[] C++
Как получить адрес переменной типа unsigned char? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,128
Записей в блоге: 26
25.06.2012, 13:31     Вывод переменной типа char #7
Цитата Сообщение от Invader_Zim Посмотреть сообщение
sievmi, у разных компиляторов разные завороты
Абсолютный бред. Всё работает строго в соответствии со стандартом (в 5-м посте всё чётко расписано). Независимо от компилятора.
Yandex
Объявления
25.06.2012, 13:31     Вывод переменной типа char
Ответ Создать тему
Опции темы

Текущее время: 02:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru