c语言中ch-'0'这是什么意思,为什么能把字符转化为对应的ASCII值,看不懂啊,求大神
答案:2 悬赏:50 手机版
解决时间 2021-02-11 13:09
- 提问者网友:富士山上尢
- 2021-02-11 07:24
c语言中ch-'0'这是什么意思,为什么能把字符转化为对应的ASCII值,看不懂啊,求大神
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-02-11 08:14
首先,我们平时看到的 '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值变成对应的字符的值,以便进行类似整数的四则运算。
其次,我们并不在意 ‘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值变成对应的字符的值,以便进行类似整数的四则运算。
全部回答
- 1楼网友:一秋
- 2021-02-11 08:23
直接使用 == 操作符比较就可以了
比如:
#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。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯