已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出

已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出结果是 1B
#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);
}
a的值为什么是1呢,b的值怎么算呢。

a=getchar(); 接受一个字符,所以a='B'
scanf("%d",&b); 接受一个整型,所以b=33

a=a-'A'+'0' = 'B' - 'A' + '0' = '1'
b=b*2 = 33*2=66(B的ASCII代码值), 所以最后a='1',b='B'
温馨提示:答案为网友推荐,仅供参考
相似回答