标题:再次请教。关于循环小问题
只看楼主
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
结帖率:56.76%
 问题点数:0 回复次数:4 
再次请教。关于循环小问题

main

{ int y=10; 此行执行完毕Y应该依次为10,7,4……

do {y--;}while(--y); 此行执行完毕Y应该为8,5,2……

printf("%d\n",y--); 输出时候Y应该也为8,5,2……

}

若再次循环回到一步,Y应该等于1了,在执行Y--,与--Y之后不成-1了吗,为什么答案是0?我究竟那里错了?望指教!

2004-09-11 23:07
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 

do {y--;}while(--y);

此循环语句中止的条件是什么?搞清这个就搞清这个问题了。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-09-11 23:25
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 

y值变化规律:

10 8 6 4 2 0

他们为同余数!

2004-09-11 23:33
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

应该是while(--y); 吧,

循环每执行一次,在此循环应该是减3对吧,

执行完printf("%d\n",y--);后,Y应该减一啊!


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-09-12 21:11
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 

main()

{ int y=10;

do { printf("Y_do_while_1=%d\n",y); y--; printf("Y_do_while_2=%d\n",y); }while(--y);

printf("Y_2=%d\n",y);

printf("%d\n",y--);

printf("Y_3=%d\n",y);

}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-09-12 21:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5211-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.779015 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved