关于scanf()

原创 2015年11月19日 12:21:16

scanf函数原型:

int scanf(const char *format…..);

从标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中的参数个数,否则返回EOF

%d 会自动过滤掉空格和回车,

%c会读入所有的字符,包括空格和回车

#include <stdio.h>
int main() {
   char command; int x1, x2;
   while ( int c = scanf( "%c%d%d\n", &command, &x1, &x2 ) ) { //read no more than 3 items in current line
      switch ( c ) { //#items scanf() reads
         case EOF : return 0; //end of input stream
         case 0 : printf("impossible\n"); break; //blank lines are ignored by scanf()
         case 1 : printf("single: %c\n", command); break;
         case 2 : printf("double: %c %d \n", command, x1); break;
         case 3 : printf("triple: %c %d %d\n", command, x1, x2); break;
         default : printf("impossible\n"); break;
      }
   }

以上代码表示读入的文本中,最多读入3个输入;若不足3个输入,继续输入的空格和回车都将视为等待下一个数字的读入,若下一个是除空格和回车以外的字符,则认为一次输入结束,开始下一次输入。

版权声明:本文为博主原创文章,未经博主允许不得转载。

STM32 串口 UART 实现 printf scanf

  • 2012年03月11日 13:19
  • 383KB
  • 下载

scanf读取单个字符问题

在编写简单程序寻找元音字母小程序是遇到的问题: 原本计划在程序中用到scanf("%c",ch)读取单个字符,但是在一次执行过程中出现运行两次的情况:#include #include int ...
  • qiye005
  • qiye005
  • 2015年06月26日 15:48
  • 1844

C语言的 scanf 详细用法

  • 2010年04月08日 11:00
  • 81KB
  • 下载

cin和scanf输入错误的处理

  • 2012年07月15日 22:33
  • 18KB
  • 下载

使用scanf函数遇到的问题

同寝室的同学需要用C实现一个
  • bxgsl
  • bxgsl
  • 2014年10月31日 17:01
  • 148

scanf的用法

  • 2015年09月22日 16:41
  • 89KB
  • 下载

C例子:scanf总结

  • 2015年08月21日 00:34
  • 2KB
  • 下载

scanf忘记加'&'危害有多大? 详解GOT表覆写攻击技术

初学C语言时,大家有没有遇到过这样的情景? 在使用`scanf()`函数时,忘记加取地址符号`&`. 结果程序报错,debug了半天,恍然发现,原来是忘记加坑爹的`&`。 本文通过讲解一道pwnabl...

scanf用法详解

  • 2016年01月31日 22:32
  • 46KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于scanf()
举报原因:
原因补充:

(最多只允许输入30个字)