2016-08-02 3 views
1

Я новичок в программировании, и мне нужно написать код, который будет печатать значение ASCII входного символа. Есть ли другой способ уменьшить 52 (26 для нижнего регистра и 26 для верхнего) if-else или 52 switch-cases?C++: Как уменьшить условные операторы

+1

Для решения этой конкретной задачи см [этот ответ] (http://stackoverflow.com/a/5030086/1051764). – TerraPass

+0

Спасибо @TerraPass это работает :) –

+1

@FirstStep извините за путаницу, я обновил свой вопрос –

ответ

2

Поскольку неясно, что вы пытаетесь сделать, ваш вопрос не очень хорошо написан. Однако, я думаю, вам нужно взглянуть на typecasting.

Попробуйте это заявление, чтобы преобразовать символ в соответствующее значение ASCII:

int output = (int)inputCharacter; 
1

Да, просто напишите значение этого символа.

(int)ch; 

Обратите внимание, что вам может понадобиться, чтобы написать соответствующий код в зависимости от того, или не вы используете Unicode, а также в зависимости от того, какой метод вы печатаете (как правило, лучше включить небольшой фрагмент кода).

0

Вы можете просто нарисовать char как int, чтобы получить значение ascii, и int как char, чтобы получить соответствующий символ. См. This

+0

Упс получил это назад. –

+0

Не просто используйте ссылки, суммируйте их содержимое, поскольку они могут быть удалены или сломаны. –

+0

Итак, вы не можете получить более простой, чем листинг char в качестве int и наоборот –

0

Вы можете бросить char как int, или любого другого числового типа. Например,
(int) 'A'

будет вычисляться 65.

+0

'65' только с ascii, существует другая кодировка символов как [EBCDIC] (https://en.wikipedia.org/wiki/ EBCDIC) с разной стоимостью. – Jarod42

Смежные вопросы