C语言程序题、帮忙写下解题步骤!!答案是1 B

一直字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是?
#include<stdio.h>
main()
{char a,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c %c\n" ,a,b);
}

#include<stdio.h>
main()
{char a,b;
a=getchar();//a='B'值是66
scanf("%d",&b);//b=33
a=a-'A'+'0';//a=1+'0'='1'
b=b*2;//b=66和'B'的值对应
printf("%c %c\n" ,a,b);//两个都以字符形式输出,所以是输出1 B

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-14
输入时:a='B',B的ASCII代码值为65+1=66 b=33
a=a-‘A’+‘0’就是 ‘B’-‘A’-‘0’=66-65+‘0’=1+'0'='1'
b=33*2=66,也就是‘B’
最后输出都是%c格式也就是字符格式,所以是1 B
第2个回答  2012-02-14
1 B