在C中打印类型转换类型

时间:2019-03-24 18:57:17

标签: c

#include <stdio.h> 

int main(void) { 
    int nr = 5; 
    char castChar = (char)nr; 
    char realChar = '5';   
    printf("The value is: %d\n", castChar);
 }

如果上面的代码被编译,输出将是:

The value is: 5

但是,如果编译以下代码,则控制台将改为输出值53。为什么它的打印方式与打印“ castChar”时的打印方式不同?

#include <stdio.h> 

int main(void) { 
    int nr = 5; 
    char castChar = (char)nr; 
    char realChar = '5';   
    printf("The value is: %d\n", realChar); 
}

1 个答案:

答案 0 :(得分:1)

当您将%d与字符一起使用时,它显示字符的ASCII值。改为使用%c。

valueOf