zoukankan      html  css  js  c++  java
  • 关于char类型的连续输入

    这个忘了好久了

    先回想吧

    一 单字符

    ①  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);

    结果linux 里面没有被读出来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("%*[^ ]") 把输入缓冲区中第一个换行字符前的数据全部丢弃,

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

  • 相关阅读:
    团队作业---软件制作8
    团队作业---软件制作7
    团队绩效考核表
    团队报告
    团队作业---软件制作6
    团队作业---软件制作5
    团队作业---软件制作4
    团队作业---软件制作3
    团队作业---软件制作2
    第十周学习进度条
  • 原文地址:https://www.cnblogs.com/pertinencec/p/5294113.html
Copyright © 2011-2022 走看看