求助一c语言题,求解释谢谢

 我来答
xuzhouliuying
高粉答主

2019-03-19 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部
while(a++&&++b);循环语句最后有分号,从循环开始直到不满足循环条件,退出循环,才执行后面的printf语句。
a=-2≠0,b+1=1≠0,执行a++,a=-1,继续循环,此时a=-1,b=1
a=-1≠0,b+1=2≠0,执行a++,a=0,继续循环,此时a=0,b=2
a=0,不满足循环条件,退出循环,执行a++,a=1,此时a=1,b=2
输出a、b的值,输出1,2
选D。
选A的错误在于未注意每次a执行判断语句后自增1。
追问
a=0,不满足循环条件了,为什么执行a++不执行++b
追答
a++,是执行语句后,a自增1,与是否满足循环条件无关,执行完判断语句,就自增1。
++b,是先自增1,再判断循环条件,在执行判断语句前,b已经自增1了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式