24小时热门版块排行榜    

查看: 862  |  回复: 4

cryptliu

新虫 (初入文坛)

[求助] 关于 scanf 函数的问题 已有4人参与

void main()
{
        int n;
        while(1!=scanf("%d",&n))
        {
                printf("hello";
        }
}

如果 输入 字母比如 a的话,程序就会不断的输出hello....,进入死循环,不会等待输入

但是,我的意图是:如果输入的不是整数,比如是a,那么scanf()的放回值 就是-1,那么就会进入循环体,输出hello

第二次循环时,先判断1!=scanf("%d",&n) 是否为真,那么就会等待输入。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
scanf函数又不是你设计的,它怎么会按你的意图给出返回值呢?

所以你应该自己设计函数,或者按照scanf提供的功能进行使用。
2楼2014-05-12 07:38:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

L-ios

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你输入a后,由于a不符合类型,scanf函数读取后,返回-1,但是并没有从输入缓冲中删除a(因为是无效输入的原因),下次输入判断又会读取a,这就是你的程序进入死循环的原因。所以你应该在循环体中做一个跳过错误输入的处理,那样才会防止你出现的无限循环。

[ 发自手机版 http://muchong.com/3g ]
3楼2014-05-13 14:02:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

speeding1989

银虫 (小有名气)

【答案】应助回帖

你可能应该用getchar()函数吧?
sss
4楼2014-05-16 21:52:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

HanoiCreaf

新虫 (初入文坛)

【答案】应助回帖

这种单输入的,只要输入是正确的,scanf()函数返回值就只有一种,应该不会分情况了吧。。。
5楼2014-05-18 13:37:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cryptliu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 286求调剂 +4 Faune 2026-03-21 4/200 2026-03-21 13:22 by zhukairuo
[考研] 336求调剂 +3 rmc8866 2026-03-21 3/150 2026-03-21 11:16 by 求调剂zz
[考研] 306求调剂 +4 chuanzhu川烛 2026-03-18 4/200 2026-03-21 08:25 by laoshidan
[考研] 材料工程(专)一志愿985 初试335求调剂 +3 hiloiy 2026-03-17 4/200 2026-03-21 03:04 by JourneyLucky
[考研] 328求调剂,英语六级551,有科研经历 +4 生物工程调剂 2026-03-17 8/400 2026-03-21 02:12 by JourneyLucky
[考研] 271材料工程求调剂 +8 .6lL 2026-03-18 8/400 2026-03-21 00:58 by JourneyLucky
[考研] 南京大学化学376求调剂 +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[考研] 295求调剂 +4 一志愿京区211 2026-03-18 6/300 2026-03-20 23:41 by JourneyLucky
[考研] 一志愿南昌大学,327分,材料与化工085600 +9 Ncdx123456 2026-03-19 9/450 2026-03-20 23:41 by lovewei0727
[考研] 324求调剂 +5 lucky呀呀呀鸭 2026-03-20 5/250 2026-03-20 22:30 by 促天成
[考研] 一志愿苏州大学材料求调剂,总分315(英一) +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[考研] 一志愿中南化学(0703)总分337求调剂 +8 niko- 2026-03-19 9/450 2026-03-20 21:57 by luoyongfeng
[考研] 北科281学硕材料求调剂 +5 tcxiaoxx 2026-03-20 5/250 2026-03-20 21:35 by laoshidan
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 一志愿北京化工大学0703化学318分,有科研经历,求调剂 +4 一瓶苯甲酸 2026-03-14 4/200 2026-03-20 20:36 by fen_rao
[考研] 一志愿吉林大学材料学硕321求调剂 +11 Ymlll 2026-03-18 15/750 2026-03-20 19:40 by 丁丁*
[考研] 298-一志愿中国农业大学-求调剂 +9 手机用户 2026-03-17 9/450 2026-03-20 14:24 by 无懈可击111
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 0703化学 305求调剂 +4 FY_yy 2026-03-14 4/200 2026-03-19 05:54 by anny19840123
信息提示
请填处理意见