已知字母c的ASCII十进制代码为99,则执行以下语句后的输出结果为( )。 char a=’c’: a--; printf("%d,%c\n",a+’2’,a+’3’-’0’);

admin2013-08-15  27

问题 已知字母c的ASCII十进制代码为99,则执行以下语句后的输出结果为(    )。
    char a=’c’:
    a--;
    printf("%d,%c\n",a+’2’,a+’3’-’0’);

选项 A、d,e
B、a--运算不合法,故有语法错
C、100,e
D、格式描述和输出项不匹配,输出无定值

答案C

解析 C语言规定,所有字符常量可以作为整型常量来处理,因而字符常量也可参与算术运算。本题中字符变量a的初值为字符c,其对应整数值就是c的ASCII码,其十进制代码为99,经过自减运算a--后,变量a所对应的整数值为98;虽然题中未给出字符’2’和’0’的ASCII代码值,但是’2’-’0’是求字符’2’和字符’0’之间的距离为2。故a+’2’-’0’的值为100。同理可知,第二个输出项相当于算术表达式98+3,其值为101。按照题中所给定的格式描述符,第一个输出项应当以%d格式输出100,;第二个输出项应当以%c格式输出字符,已知字符c的ASCII代码值为99,故不难推算出101的对应字符应该是字母e。
转载请注明原文地址:https://jikaoti.com/ti/x1n0FFFM
0

最新回复(0)