下列程序段的输出结果是()char  b='b',e='e';printf(”%d,%c\n”,e-b,e-'a'+'

下列程序段的输出结果是()

char  b='b',e='e';

printf(”%d,%c\n”,e-b,e-'a'+'A');


A、

2,M


B、

2,E


C、

3,M


D、

3,E


【正确答案】:D
【题目解析】:

c语言中char是用ascii码表示的,一个字母对应一个整数 并且小写字母和大写字母都是连续排列的,字母'b'对应的整数比字母'a'对应的整数大1,即e-b='e'-'b'=3,e-'a'+'A'可以写成e+'A'-'a','A'-'a'表示了一个字母的小写和大写对应的两个整数的差,即e加上这个差,就为大写的E。输出:3,E