如题所述
如果是数字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。
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码了追问
加个单引号就变成转成ASC码了追问
可为什么a的值为7
追答A H O的对应的asc码 65 72 79
72-65+79=86
asc码86对应的字母是v
手头没有编译器
能发一下源代码吗?