2013-05-14 34 views
0

我試圖轉換intchar。有沒有辦法做到這一點?我怎麼可能轉換int char到C

例如:

{ 
    int i; 
    char d; 


    i = 55; 
    d = i; 

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

} 

如何使d = 55

+4

'D'_is_ 55.只要用'%D'格式打印。最後 – 2013-05-14 15:32:13

+0

,非常感謝你:) – Asem 2013-05-14 15:33:33

+0

但是爲什麼?它是char? – Asem 2013-05-14 15:34:41

回答

1

試試這個代碼段: 的printf( 「%d \ n」,d);

0

char在內存中以二進制格式顯示,這相當於一個數字,這個數字被稱爲代碼ascii。當你用「%c」打印代碼ascii然後它將打印與此代碼等價的charchter ascii

2

確實你的例子可以做你想做的。

如果你真的想安全的地方,您可以:

d = (char) i; 
+1

我已經是一個整數。我認爲你的意思是'd =(char)i;'。然而,OP編寫它的方式至少會得到一個編譯器警告,說您可能會丟失數據,而如果您指定了該編譯器,那麼編譯器會相信您知道您在做什麼...... – Vicky 2013-05-14 15:54:32

+0

oh typo。我的確不明白他在問什麼 – 2013-05-15 13:53:02