• 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},这样也为输入“-”字符提供了方法。

  • 相关阅读:
    写多了博客,就想沽名钓誉
    中医与DBA
    关于OneProxy推广
    使用分布式数据库集群做大数据分析之OneProxy
    不能使用tpcc-mysql测试OneProxy
    下三滥
    建立自己的客户关系网
    编译spock proxy
    胆子还是小了
    主流语言的异常处理对比
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680212.html
Copyright © 2020-2023  润新知