2013-05-14 2 views
0

Я пытаюсь скрыть int до char. Есть ли способ сделать это?Как я могу скрывать int на char в C

Например:

{ 
    int i; 
    char d; 


    i = 55; 
    d = i; 

    printf("%c\n", d); 

} 

Как сделать d = 55?

+4

'd' _is_ 55. Просто распечатайте его с'% формата d'. –

+0

наконец-то, большое спасибо :) – Asem

+0

но почему? это символ? – Asem

ответ

2

Если вы хотите поставить номер 55 в строку, используйте sprintf

1

Попробуйте этот сегмент кода: Е ("% d \ п", d);

0

char представлены в памяти как двоичный формат, эквивалентный числу, и это число называется кодом ascii. когда вы печатаете код ascii с «% c». Затем он печатает эквивалент charhter для этого кода. ascii

2

Действительно, ваш пример может делать то, что вы хотите.

Если вы действительно хотите, чтобы поместить в безопасности, вы можете:

d = (char) i; 
+1

i уже есть int. Я думаю, вы имеете в виду 'd = (char) i;'. Однако, как писал OP, вы, по крайней мере, получите предупреждение о компиляторе, говорящее, что вы можете потерять данные, тогда как если вы укажете, что компилятор доверяет вам, что вы знаете, что вы делаете ... – Vicky

+0

oh typo. действительно, я не понимаю, что он спрашивает ... –

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