| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 955 人关注过本帖
标题:程序有问题,算法没问题,为什么就循环停不了,哪位牛解决一下嘛,搞了半天 ...
只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-2-21 01:11:32的发言:

清空輸入緩存,壇子上很古老的問題了,你又不是沒見過。寫代碼的時候,先調試過這個循環有沒有問題,應該自己想到的,不是總問人。你自己都發現是這個循環出古怪了,就輸出j看看它的變化規律呀。懂如何排查問題才是正道,不要埋頭寫代碼,沒用的。聽得進就聽吧,聽不進當我沒說,屢教不改的人太多了,這種話我都不知說過多少遍。

其實,你這個目的是不需要兩次重複同樣的printf()和scanf()語句的(這種重複是程序代碼大忌,不知有沒有人告訴過你了),冗餘代碼太多,是造成自己難以排錯的主要原因。
哈哈,就是没有清空缓存,加个fflush(stdin);就好了,能正常运行了。其实我真的不知道要清空缓存的用途,现在又算掌握了一知识点。呵呵

认为事物非黑即白是缺智慧的表现……
2012-02-21 01:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
肯定是啦。比如你前面的scanf()要求6個數據,但只成功了4個,那麼還有2個放在緩衝區中,你又scanf()了,那2個就進去了,但此時你輸入了6個數據進去,即總共有8個,就仍然不是成功6,不死循環才怪。

授人以渔,不授人以鱼。
2012-02-21 01:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
每次出問題,解決之後,一定要總結規律,徹底弄明白原理,這樣出錯才值得,不要只求解決問題就算,對原理不關心的人,肯定會再三再四地犯同類錯誤,那是沒出息的。

授人以渔,不授人以鱼。
2012-02-21 01:23
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-2-21 01:23:36的发言:

每次出問題,解決之後,一定要總結規律,徹底弄明白原理,這樣出錯才值得,不要只求解決問題就算,對原理不關心的人,肯定會再三再四地犯同類錯誤,那是沒出息的。
嗯。

认为事物非黑即白是缺智慧的表现……
2012-02-21 01:26
快速回复:程序有问题,算法没问题,为什么就循环停不了,哪位牛解决一下嘛,搞了 ...
数据加载中...
 
   



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

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