C语言 main() { char a='1',b='2'; printf("%c",b++);printf("%d\n",b-a)} 结果是什么?说明一下。

 我来答
右倾的堕落主义
推荐于2018-03-04
知道答主
回答量:11
采纳率:0%
帮助的人:19万
展开全部
答案是:22
分析:

char a='1'b='2'; //赋值,注意a b的类型为char
printf("%c",b++); //以字符型打印打印b后b才自加,所以是现打
//印出“2”后
//b的ASCII码值是50,自加后是51
printf("%d\n",b-a) //这句是b的ASCII码值减去a的ASCII码值后
//以整型输出,即51-49=2,所以输出“2”
lich2000
2008-06-16 · 超过20用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:64.9万
展开全部
输出结果
2
2
main()
{ char a='1',b='2';
printf("%c\n",b++);
//按字符输出b,此时b为"2"(b的asc码是50),b再自加1(即50加1为51,是'3'),其实是ASC码自加:b=b+1=“3”;
printf("%d\n",b-a);
//这时候执行b-a也就等与字符:'3'-'1'=2(即:52-50= 2)。(ASC2码值相减)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ppliang0415
2008-06-16 · TA获得超过621个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:0
展开全部
输出结果 22
main()
{ char a='1',b='2';
printf("%c",b++);
//按字符输出b后(即"2"),b再自加1:b=b+1=“3”;
printf("%d\n",b-a);
//这时候执行b-a也就等与字符:'3'-'1'=2。(ASC2码值相减)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zss2003
2008-06-16 · TA获得超过1005个赞
知道小有建树答主
回答量:684
采纳率:0%
帮助的人:602万
展开全部
22 第一个2是字符第二个2是数字
printf("%c",b++);先输出b,再b++,b变成'3'了
printf("%d\n",b-a);b-a也就是'3'-'1'=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式