
已知字母A的ASCII码为十进制的65,下面程序的输出结果是?求详解!!
main(){charch1,ch2;ch1='A'+'5'+'2';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A:67,DB...
main()
{
char ch1,ch2;
ch1='A'+'5'+'2';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A:67,D B:B,C C:C,D D:不确定的值 展开
{
char ch1,ch2;
ch1='A'+'5'+'2';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A:67,D B:B,C C:C,D D:不确定的值 展开
3个回答
展开全部
正确的结果是 -88, D,没有答案符合。
ch1='A'+'5'+'2';
ch1的结果 65 + 53 + 50 = 168,已经超过ASCII字符的编码范围,转换为1字节的有符号整数(char实际为1字节的有符号整数)为 -88。
ch2='A'+'6'-'3';
由于 '6' - '3' = 3
ch2的结果为 'A' + 3 = 65+3 = 68,此值为ASCII字符 'D'。
ch1='A'+'5'+'2';
ch1的结果 65 + 53 + 50 = 168,已经超过ASCII字符的编码范围,转换为1字节的有符号整数(char实际为1字节的有符号整数)为 -88。
ch2='A'+'6'-'3';
由于 '6' - '3' = 3
ch2的结果为 'A' + 3 = 65+3 = 68,此值为ASCII字符 'D'。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询