1. scanf()函数的控制串
  2.  
  3. 函数名: scanf
  4.  
  5. 能: 执行格式化输入
  6.  
  7. 法: int scanf(char *format[,argument,...]);
  8.  
  9. scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
  10.  
  11. 其调用格式为: scanf("<格式化字符串>",<地址表>);
  12.  
  13. scanf()函数返回成功赋值的数据项数,出错时则返回EOF
  14.  
  15. 其控制串由三类字符构成:
  16. .  格式化说明符;
  17. .  空白符;
  18. .  非空白符;
  19.  
  20. A 格式化说明符
  21.  
  22. 格式字符 说明
  23. %a 读入一个浮点值(仅C99有效)
  24. %A 同上
  25. %c 读入一个字符
  26. %d 读入十进制整数
  27. %i 读入十进制,八进制,十六进制整数
  28. %o 读入八进制整数
  29. %x 读入十六进制整数
  30. %X 同上
  31. %c 读入一个字符
  32. %s 读入一个字符串
  33. %f 读入一个浮点数
  34. %F 同上
  35. %e 同上
  36. %E 同上
  37. %g 同上
  38. %G 同上
  39. %p 读入一个指针
  40. %u 读入一个无符号十进制整数
  41. %n 至此已读入值的等价字符数
  42. %[] 扫描字符集合
  43. %% 读%符号
  44.  
  45. 附加格式说明字符表
  46. 修饰符 说明
  47. L/l 长度修饰符 输入"长"数据
  48. h 长度修饰符 输入"短"数据
  49. W 整型常数 指定输入数据所占宽度
  50. * 星号 空读一个数据
  51. hh,ll同上h,l但仅对C99有效。
  52.  
  53. B 空白字符
  54.  
  55. 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。
  56.  
  57. C 非空白字符
  58.  
  59. 一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
  1. 其他:
  2. scanf函数中,我们可以使用 %c来读取一个字符,使用 %s 读取一个字符串. 但是读取字
  3. 符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此我们只能读取一个单
  4. 词,而不是整行字符串.因此一般使用fgets来读取一个字符串.其实scanf函数也可完成这样的
  5. 功能,而且还更强大.
  6. 这里主要介绍一个参数,%[ ] ,这个参数的意义是读入一个字符集合. [ ]是个集合的标
  7. 志,因此%[ ]特指读入此集合所限定的那些字符, 比如 %[A-Z] 是输入大写字母,一旦遇到不在
  8. 此集合的字符便停止. 如果集合的第一个字符是" ^ ", 这说明读取不在" ^ " 后面集合的字
  9. 符,既遇到" ^ " 后面集合的字符便停止.注意此时读入的字符串是可以含有空格的.
  10. Eg. 输入一个字符串, 这个字符串只含有小写字符.遇到第一个不是小写字符时停止.
  11. scanf("%[a-z],str);
  12. Eg. 想输入一个字符串, 遇到 "." 停止,可设计如下:
  13. scanf("%[^.]", str);
  14. 使用这个参数,你可以完成许多强大的功能呦!
  1. #include "1.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. int t1(void)
  7. {
  8. char str[];
  9. scanf_s("%[^\n]",str);
  10. printf("str = %s\n", str);
  11. return ;
  12. }
  13.  
  14. /*
  15. root@ubuntu:/work/demo# ./cmd
  16. 1234 std 435
  17. str = 1234 std 435
  18. */

引用:

C语言中关于scanf函数的用法

C语言 中scanf详解 http://wenku.baidu.com/view/3c396904de80d4d8d15a4f75.html

C语言中关于scanf函数的用法的更多相关文章

  1. C语言gets雨scanf函数的用法

    /*1.不同点: scanf不能接受空格.制表符Tab.回车等: 而gets能够接受空格.制表符Tab和回车等: 2.相同点:  字符串接受结束后自动加'\0'. 使用scanf("%s&q ...

  2. 解决VS2017中使用scanf函数报错的问题

    我们在VS2017中如果使用C语言的scanf输入函数,编译的时候编译器会报error C4996: 'scanf': This function or variable may be unsafe. ...

  3. C语言中的自定义函数

    C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数 自定义函数分为四种 第一种:无参无返回值的 函数的声明 void sayH(); 函数的实现 void sayH(){ printf(&q ...

  4. C中的时间函数的用法

    C中的时间函数的用法    这个类展示了C语言中的时间函数的常用的用法. 源代码: #include <ctime>#include <iostream> using name ...

  5. 如何在C语言中调用Swift函数

    在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...

  6. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  7. C语言中返回字符串函数的四种实现方法

    转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...

  8. JavaScript中字符串分割函数split用法实例

    这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...

  9. (转)Python中的split()函数的用法

    Python中的split()函数的用法 原文:https://www.cnblogs.com/hjhsysu/p/5700347.html Python中有split()和os.path.split ...

随机推荐

  1. 自制的七个C,总结的太好了

    拿破仑·希尔把它叫做:“自制的七个C”: 1.控制自己的时间(Clock). 时间虽不断流逝,但也可以任人支配.你可以选择时间来工作.游戏.休息.烦恼..虽然客观的环境不一定能任人掌握,但人却可以自己 ...

  2. csv批量导入mysql命令

    今天把从Kaggle上下载下来的csv数据导入mysql,想做个统计分析,怎奈csv文件有些大.所以仅仅能用mysql 命令导入,现mark下,以备以后不时之需: 1. 导入: 基本的语法: load ...

  3. HDU 3032 Nim or not Nim? (sg函数求解)

    Nim or not Nim? Problem Description Nim is a two-player mathematic game of strategy in which players ...

  4. openstack之Glance

    一.Glance简介.基本概念: Glance是openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等操作. Glance提供restful API可以查询虚拟机镜像的m ...

  5. 4个常用的HTTP安全头部

    转自:http://blog.jobbole.com/60143/ 它曾是世界性图书馆梦的开始,现在它是全球知识的聚集地,它是目前最流行的,人们将应用都部署之上的万维网. 它是敏捷的代表,它不是单一的 ...

  6. 解决Windows 7下IE11无法卸载、无法重新安装,提示安装了更新的IE版本

    2013年12月14日 iefans 有用户反馈在Windows 7系统上安装IE11时发现安装程序似乎出了问题,等待了很长时间都没有响应之后就断开了电脑的电源.之后IE11浏览器虽然能使用,却无法安 ...

  7. zookeeper集群配置

    zookeeper集群网上demo一大堆,补充一下一些不明白的地方 1 复制2份zookeeper,savle作为备份节点 2.配置zoo.cfg # The number of millisecon ...

  8. 抄书(B - 二分查找)

    抄书  (二分查找+贪心) 提示:二分查找一般写成非递归形式 时间复杂度:O(logn) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action? ...

  9. (IOS)数据持久化

    1.属性列表序列化 2.模型对象归档 3.嵌入式SQLite3 4.Core Data 5.应用程序设置 6.UIDocument管理文档存储 7.iCloud Demo界面: 1.属性列表序列化 即 ...

  10. DataReader的例子

    前: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataReader对 ...