不知道结果是97

来源:2-8 自动类型转换

墨汁大盗

2015-07-21 17:30

为什么赋值c,n,f结果是97,  表示不明白啊

#include <stdio.h>
int main()
{
    char c = 'a';
    int n =  c ;    //将c赋值给n
    float f =  n ;   //将c赋值给f
    double d =  f  ;  //将c赋值给d
    printf("%d\n",n);
    printf("%f\n",f);
    printf("%lf\n",d);
    return 0;   

写回答 关注

1回答

  • 堕天使008
    2015-07-21 18:08:12

    这个是一个 字符的存储的问题。 其实计算机就是一堆开关做的, 而 开关的两个状态对应 数字 0 和 1。

    所以不论什么文件 在计算机里面 实际上都是以二进制 0101000001 这个存的。平常的数字转换成2进制好说。

    那字母呢?  于是乎许多人想出了一个办法 将字母编号,有点像现在的手机号, 用指定的号码代替的对应的文字,

    为此 专门有 一群人 做了一个规定 ,规定了每个字母和常用的符号到底对应的数字是多少。(ASCII字符集)

     其中 A就是64 而 a 则对应到了97。

    所以这道题里 你以把 这个字母 以数字显示  他就是97。

    其实中文也是同理 每个汉字都对应的一个 数字。

    (另外 你在电脑上按住Alt 输入一个 数字,然后松开Alt,就会显示出来对应的文字 你可以玩玩。)

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题