已知字母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:不确定的值
展开
 我来答
978658342
2012-11-11 · TA获得超过124个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:163万
展开全部
正确的结果是 -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'。
创作者xEfeob4ULn
2019-05-21 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:740万
展开全部
很简单
因为printf(“%c,%d\n”,c1,c2);中,c2你用的输出格式符是%d,代表输出十进制整型68,如果你也用如前面%c,就会输出字符d.
不懂可以在问我~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiyihe2002
2012-11-11 · TA获得超过705个赞
知道答主
回答量:132
采纳率:0%
帮助的人:62.6万
展开全部
应该是D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式