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

问题描述:

有道 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’是什么意思?不懂 谢谢~
1个回答 分类:综合 2014-12-16

问题解答:

我来补答
你上面scanf输入的时候是按照字符格式输入的,所以,你输入的数字,全都是字符,也就是它的整型值应该是ASCII码值得大小,当你输入的是从0到9时,它对应相应ASCII值,输出用 i-'0',输出就成了你输入的数字,这里也方便你看.
 
 
展开全文阅读
剩余:2000