如果是数字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。
字母,单引号后变成asc码,各自有自己的数值代替,若变量是int shout long 和long long输出的就是数字,char 输出的就是数字对应asc码的符号
字母,C语言中,用单引号括起来的都是一个字符,只不过其在内存中是以其对应的ASCII码储存的
O是字母 不解释
加个单引号就变成转成ASC码了