2013-05-14 35 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