zoukankan      html  css  js  c++  java
  • scanf正则表达式部分总结

    正则表达式

     scanf() 函数的正则用法:

     scanf("%[^ ]",str) 其中的   表示保存的字符串以换行符为截止,并且不存储该换行符号,这句话的作用是允许该函数读入除换行符以外的空白符(空格,table),平时输入时,scanf()不能像gets()一样读入空格等空白符;

     scanf("%*[^ ]");  其中   表示换行,其中*号表示该行内容不赋值给任何变量,直接跳过该行内容。

    以下面的代码为例进行讨论

     1 # include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     char str1[100];
     6     char str2[100];
     7     char str3[100];
     8     char str4[100];
     9     
    10     scanf("%[^
    ]",str1);
    11     scanf("%[^#]",str2);
    12     scanf("%*[^
    ]",str3);
    13     scanf("%*[^#]",str4);
    14 
    15     puts(str1);
    16     puts(str2);
    17     puts(str3);
    18     puts(str4);
    19     
    20     return 0;
    21 } 

    输入内容: 其中的  表示换行

    hello,   world!
         //str1
    hi,Alice.
              //str2
    hei,Alice.#
          //str2
    Hello,Friday!
       //str3
    Hi,Morning!#
      //str3
    

    输出内容:

    hello,   world! // str1
    hi,Alice.      // str2
    hei,Alice.    // str2
    

    讨论:

    str1:以换行符为结束,且能够将空格符号读入并赋值给变量;

    str2:以#号为结束,可以读入换行符,并将内容赋值给变量;

    str3:无输出。以换行符为结束,但是不赋值给变量;

    str4:无输出。以#号为结束,内容不赋值给变量。

    本人计算机小白一枚,对编程有浓厚兴趣,在此贴出自己的计算机学习历程,还有很多不足,望多多指教! 读书后发现好多的内容与具体专业有偏差,没来得及完成,虽然“有时间我就会做...”是人生最大的谎言,但有时间我会继续搞定未完成的内容,有始有终,兴趣使然!
  • 相关阅读:
    快速傅立叶变换
    回文树
    gcc 编译c文件的几个过程
    linux quota---mount
    linux device driver3 读书笔记(一)
    linux驱动开发(十一)linux内核信号量、互斥锁、自旋锁
    linux驱动开发(十)——misc杂散设备
    linux驱动(九)platform驱动模型详解,以及基于platform驱动模型的led驱动
    (转)__ATTRIBUTE__ 你知多少?
    linux驱动(八)驱动设备模型
  • 原文地址:https://www.cnblogs.com/Robin5/p/12670882.html
Copyright © 2011-2022 走看看