C语言问题 小白求解答

第二十题... 第二十题 展开
 我来答
Gong17
2012-09-14 · TA获得超过1301个赞
知道大有可为答主
回答量:995
采纳率:0%
帮助的人:2145万
展开全部
首先,你需要明白a++和++a的区别。
++的位置决定了两者的不同。++a表示先自加,然后执行其他操作;
a++表示先执行其他操作,然后自加。
拿题目来说,首先输入9赋予变量a。
然后判断,题中条件是a++,所以是先判断a是否小于9,然后自加。这里a等于9,不小于9,
所以会自加后执行else语句部分。(此时a为10);
else语句中输出a--,又之前所述,这里应先输出a,然后执行自减。
所以最终,输出了10,然后a会自减成9.
furious_tauren
2012-09-14 · TA获得超过4053个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:732万
展开全部
答案是 A

因为 在 if 语句里有 a++ 自增表达式,此句结束后 a 的值是 10 了, 因为 a 初始值是 9,走else
分支, a-- 是先取值再自减,所以a 的值还是10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
加亮锐评
2012-09-14 · TA获得超过170个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:89.8万
展开全部
选 A)10
因为:输入a=9时,if语句判断的时候把a++,使a=10,则执行else语句,输出a=10。然后再将a减去1,如果此时再在后面加上printf (“%d\n",a),那么输出的就是9.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三毛0伍
2012-09-14 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:113万
展开全部
优先级问题:++优先于<可以等价于(a++)<9,后自增则a++值为9,(a=10)不满足if条件,而a--,先使用a即打印10,后再减1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1139617321
2012-09-14
知道答主
回答量:40
采纳率:100%
帮助的人:13.5万
展开全部
10。首先判断if(a++<9)。此时a++表达式的值为9,显然不成立。运行完此语句之后,a的值变成了10.然后运行else语句,此时表达式a--的值为10,那么输出的为10.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yinweijie5024
2012-09-14
知道答主
回答量:8
采纳率:0%
帮助的人:7.7万
展开全部
a++,的意思是先把a+1后再判断,很明显,a++=10,比9小,所以if语句里面为真,输出a,而此时的a=10;;;;++a 则是先判断a,然后再++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式