关于在字符数组中利用scanf函数输入空格等问题 您所在的位置:网站首页 c语言的空格字符怎么输出的 关于在字符数组中利用scanf函数输入空格等问题

关于在字符数组中利用scanf函数输入空格等问题

2024-07-17 21:55| 来源: 网络整理| 查看: 265

关于在字符数组中利用scanf函数输入空格等问题

控制串/数组 中的空白符使 scanf() 在输入流中跳过一个或多个空白行。空白符可以是空格(space)、制表符(tab)和新行符(newline)。 本质上,控制串中的空白符使 scanf() 在输入流中读,但不保存结果,直到发现非空白字符为止

ANSI C 标准向 scanf() 增加了一种新特性,称为扫描集(scanset)。 扫描集定义一个字符集合,可由 scanf() 读入其中允许的字符并赋给对应字符数组。 扫描集合由一对方括号中的一串字符定义,左方括号前必须缀以百分号。 例如,以下的扫描集使 scanf() 读入字符 A、B 和 C: 1.使用扫描集 %[ABC] 使用扫描集时,scanf() 连续吃进集合中的字符并放入对应的字符数组,直到发现不在集合中的字符为止(即扫描集仅读匹配的字符)。返回时,数组中放置以 null 结尾、由读入字符组成的字符串。 2.使用补集^ 用字符 ^ 可以说明补集。把 ^ 字符放为扫描集的第一字符时,构成其它字符组成的命令的补集合,指示 scanf() 只接受未说明的其它字符。 对于许多实现来说,用连字符可以说明一个范围(ISO C99标准没有规定)。例如,以下扫描集使 scanf() 接受字母 A 到 Z:

**

利用扫描集 在字符数组中输出空格

** scanf(“%[^\n]”,str); //str是数组首地址 scanf("%[^\n]",str); []中式正则表达式中的内容,^表示相反的情况,即 [\n]表示只接受\n [^\n]表示除了\n都接受&#



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有