zoukankan      html  css  js  c++  java
  • scanf()格式化输入

     scanf();有种带[]的格式化输出方式

    此格式控制符的基本格式为:%[scanfset]

    #include<stdio.h>
    int main()
    {	
    	char str[100] ;
    	
    	scanf("%[^!]&s",str);//以!结束输入 
    	//scanf("%[^!]%s",str);
    	
    //	scanf("%[^
    ]",str);//以回车结束输入 
    //
    //	scanf("%[123]%s",str);//只能输入123,遇到其他字符后开始不进行赋值
    //	scanf("%[^123]%s",str);//只能输入非123,遇到其123后开始不进行赋值 
    //	
    //	scanf("%*c",str);//清理缓冲区中第一个字符,上次遗留下的
     
    //	scanf("%*[^!]%*c",str); //跳过一行 
    //	
    	
    	printf("%s",str);
    	return 0;
    
     }

    以下来自网络:

    scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束;另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。

    “-”字符的使用。当“-”出现在scanfset中且两边都有字符时,大多数编译器都做了如下所述实现:“-”表示匹配从其左边的字符到右边字符之间所有的字符(按ASCII码排序)。如a-z表示a到z的所有字符,又如0-9表示0到9这十个数字。所以,当scanfset为0-9时表示只匹配数字串,当scanfset为A-Za-z时表示只匹配字符(包括大小写),当scanfset为^0-9时不匹配所有数字。注意,“-”的字符只有在其左右两边都有有效字符时才有这个作用,否则被认为是普通字符,如“ 0-4-6-9”匹配的字符为{0,1,2 ,3,,4, -, 6,7,8,9},这样也为输入“-”字符提供了方法。

  • 相关阅读:
    jQuery --checkbox全选和取消全选简洁高效的解决办法
    扩展jquery插件的方法
    git
    varchar,char,varchar2,mybatis查询无返回
    Docker拉取mysql并连接
    Map
    mysql数据库用ip访问
    docker的安装和docket拉取Oracle
    springboot
    linux 安装mysql
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680212.html
Copyright © 2011-2022 走看看