main() {char a='a',b; printf(%c,",++a); printf("%c\n",b=a++);

请写出如下程序的输出结果:main(){chara=’a’,b;printf(%c,”,++a);printf(“%c\n”,b=a++);}答案:b,b为什么第二个是b... 请写出如下程序的输出结果:
main()
{char a=’a’,b;
printf(%c,”,++a);
printf(“%c\n”,b=a++);
}
答案:b,b
为什么第二个是b呀?不是b=a输出后,a才=b么?
展开
 我来答
GuduTianIT
2015-01-04 · TA获得超过380个赞
知道小有建树答主
回答量:397
采纳率:75%
帮助的人:219万
展开全部

这个是前/后自增,关键是理解他的执行方式:

参考我之前回答过的一个贴:

http://zhidao.baidu.com/question/1511411341808323180


//看完之后再结合你这个题看一次
main()
{char a='a',b;//a的值为 'a' 也就是 数值:97
printf("%c,",++a);//表达式返回的是后自增的结果 先 +1 后返回,结果是 98 即是'b'
printf("%c\n",b=a++);//a++ 返回的表达是自增前的结果 即 98(刚刚在第3行后自增了一次),返回结果后,再自增1,也就是说 99 : 'c';此时的a ,b值分别为: 'b'(98) 'c'(99)
printf("a:%c b:%c\n",a,b);输出:a:c b:b
}
wuli文柯啊
2019-01-06
知道答主
回答量:9
采纳率:0%
帮助的人:3228
展开全部
5):有以下程序
main()
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是____。
A、b,b
B、b,c
C、a,b
D、a,c
答案:A
评析:【参考答案】
本题答案为 A 选项。
【试题解析】
语句“printf("%c,",++a);”中,“++a”是在变量a 使用之前,就将其值自增,即此时变量a 存储的是字符'b',因此本题先输出的是“b,”;语句“printf("%c\n",b=a++)”中,“a++”是在变量a 使用之后,才将其值自增,因此变量b 先被赋值为字符'b'再将变量a 自增,即此时输出的是“b”;综上,本题的输出结果是“b,b”,即本题的正确答案是A。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
严显敏
2015-09-19 · TA获得超过269个赞
知道答主
回答量:132
采纳率:50%
帮助的人:35.9万
展开全部
++a={ a=a+1, a=a 先自增后赋值};a++={ a=a, a=a+1; 先赋值后自增}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式