首页 > 其他 > 详细

关于char类型的连续输入

时间:2016-03-19 00:55:42      阅读:241      评论:0      收藏:0      [点我收藏+]

这个忘了好久了

先回想吧

一 单字符

①  char m;

     scanf("%d",&m);

② char m;

  m=getchar();

  putchar(m);

二 字符数组(字符串)

①   char a[10];

    int i;

      for(i=0;i<10;i++){

  scanf("%c",&a[i]);

      }

②   char a[10];

  gets(a[10]);

  puts(a[10]);

书本上的

我今天用的连续输入char o,p,q;

char o,p,q;

scanf("%c%c%c",&o,&p,&q);

结果lunix 里面没有被读出来o的量;技术分享

**********************************************************************

我知道了 要写一条scanf("%*c")清除输入缓冲区的回车键

田硕以前讲过 输入缓冲区的概念 当我输入的是 5,enter,abc(逗号起分隔作用并未在键盘输入)

scanf("%d",&m);

scanf("%c%c%c",&o,&p,&q);

是读入的 就是 5 enter a b(将enter读入了,没有读入c);

这的时候我要在第一个输入结束后清除输入缓冲区的数据scanf("%*c")

第二个scanf函数才不会读入enter,而是从a开始读入技术分享

**********************************************************************

  scanf("%*[^\n]") 把输入缓冲区中第一个换行字符前的数据全部丢弃,

  scanf("%*c")  把换行字符丢弃。

关于char类型的连续输入

原文:http://www.cnblogs.com/pertinencec/p/5294113.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!