墨汁大盗
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;
这个是一个 字符的存储的问题。 其实计算机就是一堆开关做的, 而 开关的两个状态对应 数字 0 和 1。
所以不论什么文件 在计算机里面 实际上都是以二进制 0101000001 这个存的。平常的数字转换成2进制好说。
那字母呢? 于是乎许多人想出了一个办法 将字母编号,有点像现在的手机号, 用指定的号码代替的对应的文字,
为此 专门有 一群人 做了一个规定 ,规定了每个字母和常用的符号到底对应的数字是多少。(ASCII字符集)
其中 A就是64 而 a 则对应到了97。
所以这道题里 你以把 这个字母 以数字显示 他就是97。
其实中文也是同理 每个汉字都对应的一个 数字。
(另外 你在电脑上按住Alt 输入一个 数字,然后松开Alt,就会显示出来对应的文字 你可以玩玩。)
C语言入门
926207 学习 · 20797 问题
相似问题