| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1044 人关注过本帖
标题:不加getchar()为什么输入数据会死循环?
只看楼主 加入收藏
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
结帖率:92%
收藏
已结贴  问题点数:20 回复次数:1 
不加getchar()为什么输入数据会死循环?
程序代码:
#include<iostream>
#include<cstdio>
using namespace std;

int main(void){
    int a,b,c;
    while(scanf("(%d, %d, %d)",&a,&b,&c)!=EOF){
        getchar();
        printf("%d %d %d\n",a,b,c);
    }
    return 0;
}


按照这个格式输入数据:
(255, 127, 0)
搜索更多相关主题的帖子: getchar 输入 数据 死循环 include 
2019-01-08 20:55
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:396
专家分:2640
注 册:2018-3-30
收藏
得分:20 
你的输入格式第一个字符必须是: (
而输入了一次后,回车符还在缓冲区。
回车符 != (
scanf读不进,回车永远在,所以后面就一直读取出错。

加getchar()可以读取缓冲区的回车符。

saber,别哭.
2019-01-08 22:03
快速回复:不加getchar()为什么输入数据会死循环?
数据加载中...
 
   



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

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