c语言里 c[i]-'0'和 C[i++]-'a'分别是什么意思?? 这个-‘0’和‘a’分别代表了什么,谢谢。。。。。。

如题所述

不要理解太复杂,'0' 和'a'都是数,在计算机都是二进制存储,'-'就是单纯的减。
'0','a'是ASCII字符,用16进制表示分别是30和61,用十进制表示分别是48和97。
如果'0'没有引号,就是0,十进制也是0。
c[i++] 是基本概念,不用说了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-01
0和a都是一个字符,字符与数字是可以相互转换的, '0'其实就等于 48,所以 假设c[i]=100,c[i]-'0'的结果就是 52,同理你可以试试 'a' 对应的数字是多少
第2个回答  2012-02-01
'0' = 48 //参考 ASCII code
'a' = 97
c[i]-'0' 意思是c[i] - 48, i 变量保持不变
C[i++]-'a' 意思是 c[i] - 97, 执行有 i+1
在C 语言里 char 类也可以当作 integer 理解,就是从0 ~ 255本回答被提问者和网友采纳
第3个回答  2012-02-01
举个例子,如果c[i]='4';
那么
c[i]-'0'=4;

注意:还引号的是字符型,不带引号的为整型.
上面的式子也就是把字符型转化为整型.追问

C[i++]-'a'那这个是把整型转换为字符型的意思么???

追答

哦,这个不是
先求出C[i]与'a'差距(如'b'与'a'差1)
再让i自增1;

第4个回答  2012-02-01
先引用数组元素,然后对后面的字符进行算术运算,结果为ASC码,
单引号代表里而为字符,,
相似回答