| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1214 人关注过本帖
标题:又一道小题目 呵呵 大家帮帮忙
只看楼主 加入收藏
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:2 
七楼的方法可行!

南国利剑
2011-01-25 15:39
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:2 
学习学习

[ 本帖最后由 baobaoisme 于 2011-1-25 20:43 编辑 ]
2011-01-25 20:41
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:2 
加个scanf不就行吗?

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-26 11:09
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
以下是引用Amy_huyier在2011-1-25 14:38:09的发言:

 
 
好像不行吧。比如输入 0 2。只有当回车了才会退出。所以,输入完a 时还是要输入b的值。
感觉不应该用scanf()吧。因为scanf只有当用户敲下回车键时,才会把输入的值送到缓冲区的。
或者这样
while(scanf("%d",&a)&&a&&scanf("%d",&b))
{
   ........
}

小代码,大智慧
2011-01-26 12:01
Amy_huyier
Rank: 4
等 级:业余侠客
帖 子:46
专家分:265
注 册:2011-1-24
收藏
得分:0 
或者这样
while(scanf("%d",&a)&&a&&scanf("%d",&b))
{
   ........
}

还是不行。你可以先调试下,再发。scanf是在用户按下回车后才会把值送到缓冲区的。所以回车前,a不可能取得你输入的值,循环不会退出。
而回车了,a b就不在一行了。还是输入:2 3就可以发现问题

加个scanf不就行吗?

应该不行吧。怎么加?还是上面说的,不回车sancf应该是不会起作用的吧。
2011-01-26 12:15
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
回复 6楼 A13433758072
我觉得按你那个形式进行是没有错,不过你的代码还是有BUG,
e.g :  45d21这个明显是不合法,不过你的程序当合法处理,a,b,c这些非法字符,程序照样赋值.
补充就是空格、TAB和回车的地位同那些非法字符的地位居然一样。
        退格符也变味
虽然这样还是值得学习.

[ 本帖最后由 点线面 于 2011-1-26 13:47 编辑 ]

小代码,大智慧
2011-01-26 13:31
快速回复:又一道小题目 呵呵 大家帮帮忙
数据加载中...
 
   



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

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