作业帮 > 综合 > 作业

有道 C语言的题 有不理解处,希望高手解释下

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 08:05:29
有道 C语言的题 有不理解处,希望高手解释下
#include"stdio.h"
void main()
{
char i;
printf("\nplease input 0~A");
scanf("%c",&i);
switch(i)
{
case '0':case '1':case '2':case'3':case '4':case '5':
case '6':case '7':case '8':case '9':
printf("\n%d",i-'0');break;
case 'a':case 'A':printf("\n%d",10);break;
default:printf("error");
}}
就是 倒数第四行 i-‘0’是什么意思?不懂 谢谢~
你上面scanf输入的时候是按照字符格式输入的,所以,你输入的数字,全都是字符,也就是它的整型值应该是ASCII码值得大小,当你输入的是从0到9时,它对应相应ASCII值,输出用 i-'0',输出就成了你输入的数字,这里也方便你看.