永发信息网

c语言中ch-'0'这是什么意思,为什么能把字符转化为对应的ASCII值,看不懂啊,求大神

答案:2  悬赏:50  手机版
解决时间 2021-02-11 13:09
c语言中ch-'0'这是什么意思,为什么能把字符转化为对应的ASCII值,看不懂啊,求大神
最佳答案
首先,我们平时看到的 'a', 'b', 'c', 'd', '1', '2', '3'……等等是一个字符,在ASCII表中有一个对应的整型值,称为ASCII值。
其次,我们并不在意 ‘a', 'b', 'c', 'd' ……等字符的ASCII值,平时我们容易搞混的是 '1', '2', '3' ……等数字字符的ASCII值,字符'1','2','3','4'……等的ASCII值并不等于 1, 2, 3, 4,具体等于多少看ASCII表即可。但是字符却又可以直接参与四则运算,字符 '1', '2', '3' ……等数字字符参与四则运算时是用其ASCII值参与运算。
最后,ch - '0'的意思就是把一个字符的ASCII值减去字符 '0' 的ASCII值,实际上就是两个整数(对应的ASCII)的减法运算,得到就是一个整数(与对应的数字相对应)。由于字符 '0', '1', '2', '3', '4'……在ASCII表中是连续的,ch - '0'一般就是把一个数字字符的ASCII值变成对应的字符的值,以便进行类似整数的四则运算。
全部回答
直接使用 == 操作符比较就可以了 比如: #include  int main(){     char a = 'b';     char b = 'b';     char c = 'b';     if(a == b){         printf("1same");     }     if(a == c){         printf("2same")     }     return 0; }最后结果输出了1same而没有输出2same。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
笔记本的电池为什么在30%就充不进去了
下班后应该去哪里打发时间呢?
雅轩商务宾馆这个地址在什么地方,我要处理点
abc正实数a+b+c=1证1/(1-a)+1/(1-b)+1/(1-c)
gta5特殊能力怎么按
维扬粮油南北货地址有知道的么?有点事想过去
等高线地形图上火山的样子
现有一根1米长的铁丝,用它来弯制成直径为3厘
广州火车站2小时的火车在哪侯车怎么还是待安
没离婚男方到老丈人家偷东西犯法吗
摩托车勾档?
手机怎样可以破解路由器管理员的登陆密码?
龙门电器在什么地方啊,我要过去处理事情
有50W的启动资金,2年内怎么才能赚到100W!
百联房产布厂街店我想知道这个在什么地方
推荐资讯
seiko精工手表如何查看型号
童仔屋在哪里啊,我有事要去这个地方
河北省,离五大名山哪个山,最近
四季特点的词语(三个字的)
瑜新不锈钢加工部在什么地方啊,我要过去处理
卧室里装卫生间真的好吗
狮山哪里可以充公交卡
供电局把小区供电全交物业公司。物业应收多少
生日送男人十字绣鞋垫好不好
小霸王游戏:大盗伍佑卫门里的主角是谁,我喜
模型设计中的自动模型区是指
星辉灯饰地址好找么,我有些事要过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?