scanf 接收 空格 输入_scanf函数可以输入空白符
首先,问大家个问题:“C中scanf函数能否输入空格?”
可能很多人会白眼:“废话!C只能用gets,fgets函数获得空白符啊!”
确实,在scanf函数中,可以使用 %c 来读取一个字符,使用 %s 读取一个字符串,但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字串,因此一般使用fgets来读取一个字符串。
之前我负,也这样认为的,其实不然,scanf函数也可以哦。而且还更强大。
下面说一下如何用scanf获得空格等空白符。这里主要介绍一个参数:%[]。这个参数的意义是读入一个字符集合。[]是个集合的标志,因此%[]特指读入此集合所限定的那些字符, 比如 %[A-Z] 是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是'^', 这说明读取不在'^'后面集合的字符,即遇到'^'后面集合的字符便停止。而此时读入的字符串是可以含有空格的。
#include
int main()
{
char a[20];
scanf("%[^\n]", a);
printf("%s\n", a);
return 0;
}
上面的程序就能输入包括空格在内的字符串。[^\n]表示遇到换行符停止。
PS:其他的scanf函数方面的问题,亲们自己查吧。用了很久的C,现在才知道scanf也能输入空格的,一切都需要自己探索。
共进!
scanf 接收 空格 输入_scanf函数可以输入空白符相关推荐
- scanf 接收 空格 输入_【C/C++】【输入】关于scanf:输入空格,多次使用
一.C/C++中带空格字符串的输入 C++中的cin和C中的scanf都是遇到空格或回车结束. 如果要让scanf接收空格,可以用读入字符集合的方式.%[] char a[100]; scanf(&q ...
- scanf 接收 空格 输入_你需要知道的scanf函数用法
scanf函数 上一节中我们讨论了,如何将整数,浮点数,字符串打印到屏幕上去.既然有输出,怎么能没有输入呢?这一节中,我们来介绍与printf相反的scanf函数. scanf的功能是将键盘输 ...
- scanf 接收 空格 输入_【C语言】- printf 和scanf 函数详解!
一.printf函数 这是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据. 1.用法 1> p ...
- scanf 接收 空格 输入_当接受用户输入的含有空格的字符串时,应使用()函数。...
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前. 注意:部分源程序给出如下. 请勿改动主函数main和其 ...
- scanf 接收 空格 输入_如何允许使用scanf输入空格?
人们(尤其是初学者)不应该使用scanf("%s")或gets()或任何其他没有缓冲区溢出保护的函数,除非你确定输入总是一个特定的格式甚至不是). 记住,scanf代表" ...
- 编写一个函数,该函数能判断一个英文句子str(带空格)中是否含有某个单词w,如“How old are you?”含有“old”。在main函数中输入一个英文句子,再输入一个单词,如果英文句子中含有那
题目要求: 编写一个C程序,实现以下功能: 编写一个函数,该函数能判断一个英文句子str(带空格(升级版))中是否含有某个单词w,如"How old are you?"含有&quo ...
- scanf函数中输入格式及输入基本原理讲解
前言:(本文所用测试全在vs2019) 本文主要是对 scanf函数输入中所需注意的形式,以及不同的格式下对于scanf函数输入的影响. scanf中基本原理的讲解,理解实现scanf函数的内部逻辑. ...
- 【C】编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
//编写一个函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其他字符的个数, //在主函数中输入字符串以及输出上述的结果. #include <stdio.h> #includ ...
- python输入正方形面积公式_scanf()函数的调用:编写求正方形面积的通用程序
#includevoid main(){ int a, area; scanf("%d",&a); //等待用户从键盘输入一个整数// area=a*a; printf(& ...
最新文章
- 为什么不让安装卫xing×××啊
- java restful项目打包_听说你在接私活? 一个助你效率翻倍的项目工具!!
- 几个值得收藏的国外有关Vue.js网站
- yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期
- Windows Phone开发(25):启动器与选择器之WebBrowserTask
- C++ c_str()
- 武汉 net 2011-04-29
- 解析微服务架构与最佳实践
- mySQL 数据库错误
- SASS简介及使用方法
- 手机发包工具_【发包工具】http多线程发包工具
- github【如何删除一个repository(仓库)】
- spring freemarker 获取后端的值
- gateway nacos注册服务_第二篇 Spring Cloud Alibaba实战(一)Nacos服务注册与发现
- 磁盘工具无法修复磁盘怎么办
- ant下载与本地配置
- Incremental Graph Convolutional Network for Collaborative Filtering(阅读论文笔记)
- 008九九乘法表(详解)
- OB52 记账期间变式和公司主数据关联关系
- Mybatis在集群环境下脏读问题
热门文章
- swift scheme 跳转外部应用
- Hive insert overwrite 问题
- 推荐一个.Net常用代码集合,助你高效完成业务
- 数据库课程设计报告-学生学籍管理信息系统
- Emacs之高阶用法global(gtags)+cflow函数调用树(七十八)
- linux系统装机后做的优化配置
- 2010中Word自动编号,下一行缩进问题
- spatialite android,一种基于Android系统的Spatialite空间数据库加密方法与流程
- 用js自定义视频播放器
- 【NOIP2018模拟赛2018.10.23】木门道伏击战