问题
单项选择题
数字字符0的ASCⅡ值为48,若有以下程序: main() { char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是______。
A.3,2
B.50,2
C.2,2
D.2,50
答案
参考答案:C
解析: C语言的字符ASCⅡ编码都是连续的。已知数字字符0的ASCⅡ值为48,则数字字符1的ASCⅡ值为49,数字字符2的ASCⅡ值为50,数字字符3的ASCⅡ值为51。由于a初值为1,b初值为2,因此“printf(“%c,”,b++);”输出的是数字字符2,同时b后加1,值为3(ACSⅡ值为51)。b-a=51-49=2,“printf(“%d\n”,b-a);”输出的是整数2。因此正确选项是C。