| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 358 人关注过本帖
标题:再次请教。关于循环小问题
收藏  订阅  推荐  打印 
流星雨
Rank: 4
等级:高级会员
帖子:731
积分:7632
注册:2004-5-30
再次请教。关于循环小问题

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-9-11 23:07
Knocker
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:36
帖子:9963
积分:324662
注册:2004-6-1

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

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


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

y值变化规律:

10 8 6 4 2 0

他们为同余数!

2004-9-11 23:33
流星雨
Rank: 4
等级:高级会员
帖子:731
积分:7632
注册:2004-5-30

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

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

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


蒹葭苍苍,白露为霜。所谓伊人,在水一方。溯洄从之,道阻且长。溯游从之,宛在中央。
2004-9-12 21:11
Knocker
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:36
帖子:9963
积分:324662
注册:2004-6-1

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-9-12 21:50
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.063342 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved