C语言 a='H'-'A'+'O',O是数字还是字母,为什么

如题所述

如果是数字0是不需要用单引号括起来的。
a='H'-'A'+'0'; 'H'的ASCII码与'A'差7,加上'0',就是求取字符0后面的第7个字符'7',由于a的类型是char型的,最后赋值相当于a='7';你用printf("%c\n",a);输出的是字符7,用printf("%d\n",a);则输出变量a或字符'7'的ASCII码55。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-16
字母,单引号后变成asc码,各自有自己的数值代替,若变量是int shout long 和long long输出的就是数字,char 输出的就是数字对应asc码的符号
第2个回答  2014-04-16
字母,C语言中,用单引号括起来的都是一个字符,只不过其在内存中是以其对应的ASCII码储存的
第3个回答  2014-04-16
O是字母 不解释
加个单引号就变成转成ASC码了追问

可为什么a的值为7

追答

A H O的对应的asc码 65 72 79
72-65+79=86
asc码86对应的字母是v
手头没有编译器
能发一下源代码吗?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网