永发信息网

关于C语言中字符与数值转换的一个入门问题

答案:2  悬赏:60  手机版
解决时间 2021-04-28 05:58

我是一个刚刚入门的新手,现在刚刚接触字符与数值,不大懂。

int a;

a='9'-0;
printf("%d",a);

我就是用这种方法,得到了字符'9'对应的码是57,但是为什么将'9'-0改成'9'-'0'之后,即使输出的定义为整型,还是输出了一个9,为什么会有这种差异呢,请讲的通俗易懂一点!

最佳答案
'9'-0与'9'-'0'是不同,'9'-0是字符'9'对应的码是57减去0,而'9'-'0'是字符'9'对应的码是57减去字符'0'对应的码是48,一个字符加上或减去另一个字符或整形数据的时候它会把字符转换为对应的ANSI码数值,然后再进行与其它数值相加减,'9'的码值为57,'0'为48,所以'9'-'0'等于9;而'9'-0,'9'的码值为57,0本身就是一个数值,所以直接'9'的码值减去数值0,等于57.
全部回答
‘9’的ascII码为57,所以‘9’-0=57-0=57;‘0’的ascII码为48,所以‘9’-‘0’=57-48=9.就是这样的!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑上有一个自动开机的程序,怎么关闭?
无限少年非我伴,可惜清夜与谁同。欢娱牢落中
虞美人盛开的山坡名句,关于虞美人盛开的山坡
大话2 14级衣服最高抗人法多少?
苏木别巴依克斯套地址有知道的么?有点事想过
请问百度百科的词条怎么编辑?
怎么样的网名才算酷
显卡问题~?
劲舞团安全码不小心冻结了,除了用身份证外,还
说英文的国家有哪些,有哪些国家说西班牙语
我的电脑主板是微星MS-7529,为什么我在BIOS中
怎样练习长跑才能进步?
当一个农村男人三十岁了,他一无所有,没技术,
介绍几款网络游戏玩玩
明天有流行雨么、什么时候、
推荐资讯
关于龙宫加点问题,魔王的也行,最好俩个门派
怎样使U型脸变成V型脸?
俊茹这个名字怎样
方大同《可啦思刻》珍藏版哪有卖
快男2010 4进3 谁淘汰了?
读大学有用没
需要怎样的配置玩(3D)游戏才不卡呢?
关于绿色征途的问题
不好意思是什么意思,"打蛇打七寸"的七寸是指
请问牙龈出血是什么原因?
皇甫烬好听还是皇甫天烬好听啊
8023在网上代表是什么意思阿
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?