美文网首页
scanf函数的特殊方式

scanf函数的特殊方式

作者: 不省油的匹诺曹 | 来源:发表于2018-12-12 17:01 被阅读0次

枉读计算机这么多年,今天却遇到这么丰富scanf的特殊方式!
师出有源:这篇博客写了今天要总结的东西。

  1. 输入固定个数的字符 :"%nc"方式,n为一个整数
//需要说明的地方时,该方式会严格读入5个任何字符(包括'\n')
//如果字符少于5个,那么等待输入
//同时和%s的输入不同的是,该方式不会在字符串末尾自动补一个null character ('\0')
char a[100];
scanf("%5c", a);

scanf("%5s", a); //该方式最多输入5个非空白字符(non whitespace )
  1. 正则表达式:格式可以为一个正则表达式
//很容易懂,该方式会在代码后自动补一个null character('\0')
char a[100];
scanf("%[^\n]")

3.过滤一个字符、数字。*号代表读入一个,但不输入到任何位置

char a[100];
scanf("%*c", a);

int num;
scanf("%*d", &num);

4.空白字符:convention speficier中的空白字符(包括\n),会匹配所有的空白字符,直到遇到第一个非空白字符。

//这种方式读入一行会有问题,原因在于在读入最后一次的时候,如果不遇到一个非空白字符,或者eof的时候,它会持续匹配所有的非空字符
//所以变现的问题是,自己在调试的时候,疯狂输入回车,表示终止运行,但并没有结束。
char a[100];
while (1) 
    scanf("%s\n", a);

相关文章

  • scanf函数的特殊方式

    枉读计算机这么多年,今天却遇到这么丰富scanf的特殊方式!师出有源:这篇博客写了今天要总结的东西。 输入固定个数...

  • 【C语言笔记】<三>Scanf函数

    Scanf函数介绍 scanf函数是一个阻塞式函数:程序会停在Scanf函数出现的地方,直到接收到的数据才会执行后...

  • C语言中的scanf与scanf_s 以及循环输入的问题解决

    Scanf 在标准C中,scanf提供了键盘输入功能。 scanf函数是一个标准库函数,它的函数原型在头文件“st...

  • 2019-01-05学习一下C呀

    问题1:vs2017中scanf函数报错ANSI C中没有scanf_s(),只有scanf(),scanf()在...

  • scanf函数

    scanf函数在接收字符串时就是这么安排的——遇到空格或回车就认为前面的输入已经完成且有效!

  • scanf函数

    scanf函数 一、是什么? C语言下的scanf()函数是样式化输入函数,也称为阻塞式函数,有C语言自带的库提供...

  • scanf函数

    一,使用目的在程序运行的时候,能让用户输入进而操作 二,特点阻塞线程,在sacnf函数完成之后,才能执行下面的代码...

  • scanf函数

    必须用&告诉scanf函数变量的详细地址,才能存储用户输入的数据 利用scanf接收多个数据的时候,输入的内容要求...

  • scanf函数

    正面是一个混合输入字符和数字的程序: getchar()读取所有字符,包括空白、制表符、换行符。scanf()读取...

  • 11-使用scanf函数需要注意的细节

    1). scanf函数不是printf函数所以后面不要加\n换行. 2). scanf函数后面要写上变量的地址 而...

网友评论

      本文标题:scanf函数的特殊方式

      本文链接:https://www.haomeiwen.com/subject/daauhqtx.html