黑马程序员技术交流社区

标题: 分享个刚学的关于输入字符的小知识 [打印本页]

作者: woxingwosu    时间: 2015-8-18 12:37
标题: 分享个刚学的关于输入字符的小知识
本帖最后由 woxingwosu 于 2015-8-18 13:45 编辑

int main(){
    printf("请输入第一个字母:\n");
    char a;
    scanf("%c",&a);
//   while (getchar()!='\n') {
//       continue;
//   }
    printf("请输入第二个字母:\n");
    char ch = getchar();
    printf("%c%c",a,ch);
}
操作如下:
请输入第一个字母:
adfef
请输入第二个字母:
a d
如果我在第一次输入时,多输入了好几个字母,而ch会直接读取刚刚多输入的第二个字母。如果输入的是回车,结果如下:
请输入第一个字母:
a
请输入第二个字母:
a
但是如果加上了:
while (getchar()!='\n') {
       continue;
    }
便可以清空行缓冲区的内容了。
测试结果如下:
请输入第一个字母:
adfefe
请输入第二个字母:
fff
a f

作者: 毛强    时间: 2015-8-18 13:18
基础知识很重要,赞一个
作者: woxingwosu    时间: 2015-8-18 13:41
毛强 发表于 2015-8-18 13:18
基础知识很重要,赞一个

是的,我也是遇到了问题,回头温习了下。
作者: GodLovenan    时间: 2015-8-18 16:57
刚刚看视频的孩子,一起加油!!
作者: Edware    时间: 2015-8-19 03:04
基础一定要扎实点,这样后边学起来才会轻松点。
作者: xiaohu90    时间: 2015-8-19 10:33
基础很重要
作者: tangbinbin    时间: 2015-8-20 08:29
多学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2