问题 单项选择题

数字字符0的ASCII值为48,若有以下程序
main()
char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-

A.;

答案

参考答案:C

解析: 在C语言中,字符型变量可以看做整型变量来对待。字符型变量中所存的数值是它所表示字符的ASCII码值。ASCII码中一些相关的字符是顺序排列的,如字符'0'的ASCII码值是48,'1'为49……本题程序一开始定义了两个字符变量a和b,并初始化为字符'1'和'2',由题可知,a和b中所存储的数值为49和50。第一条输出语句是将b++的值以字符的形式输出,并在后面加一个字符','。此时b++的值为50,即字符'2',所以先输出“2,”。第一条输出语句执行完后,b的值为51。第二条输出语句是将b-a的结果按整型的格式输出,并在后面加一个换行符'\n'。b-a的值是51-49=2,所以第二条输出语句输出“2\n”。两条输出语句合在一起就是“2,2\n”,换行符'\n'不显示,所以最终显示为“2,2”。

单项选择题 A1型题
单项选择题