关于#c语言#的问题:我想知道h的类型转换过程

假如我输入了一个h,我想知道h的类型转换过程,为什么最后输出了一串很长的数字?

# include 
int main(void)
{
    int i;
    scanf("%d",&i);
    printf("%d",i);
    
   
    return 0;
}

img

i 是 int类型, 输入 %d,应该输入一个整数,你输入了字符h,导致实际上 i 并没有被赋值,它的结果 是随机的,取决各自的编译器和内存空间

如果你是想知道字符h,转换成整型的输出是什么,不妨这样写。

int main()
{
       char h = 'h';
       printf("%d",h);
       return 0;
}

也就是说将定义变量h为字符h,在强制转为整形输出。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^