C语言,求过程

15.执行以下程序后,输出的结果是()。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}(A)-1(B)1(C... 15. 执行以下程序后,输出的结果是( )。
main ()
{ int y=10;
do { y - -;} while(- - y);
printf("%d\n",y - -);}
(A) -1 (B) 1 (C) 8 (D) 0
展开
 我来答
DavidCai0316
2020-03-12 · TA获得超过973个赞
知道小有建树答主
回答量:311
采纳率:85%
帮助的人:105万
展开全部

答案选D,即输出 0。

分析:

  1. 这题有两个自减运算符,一个是前缀,一个是后缀。

  2. 后缀,y--,是先使用 y 的值,再 -1。

  3. 前缀,--y,是先 -1,再使用 y 的值。

运算过程(y 初始为 10):

  1. do{y--;}:执行 y--,此时 y = 9。

  2. while(--y):y 先 -1,此时 y = 8,再判断 y 是否为真,此时为真。

  3. do{y--;}:执行 y--,此时 y = 7。

  4. while(--y):y 先 -1,此时 y = 6,再判断 y 是否为真,此时为真。

  5. do{y--;}:执行 y--,此时 y = 5。

  6. while(--y):y 先 -1,此时 y = 4,再判断 y 是否为真,此时为真。

  7. do{y--;}:执行 y--,此时 y = 3。

  8. while(--y):y 先 -1,此时 y = 2,再判断 y 是否为真,此时为真。

  9. do{y--;}:执行 y--,此时 y = 1。

  10. while(--y):y 先 -1,此时 y = 0,再判断 y 是否为真,此时为

  11. 退出循环,执行 printf 语句,先输出 y 的值,即先输出 0,y 再 -1,此时 y = -1。

测试结果

看啥看爱
2020-03-12 · TA获得超过969个赞
知道答主
回答量:4192
采纳率:29%
帮助的人:245万
展开全部
。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式