参考:https://blog.csdn.net/vincemar/article/details/78750435

因为:

scanf("%s",str); 遇到空格就停止接收后面的字符。

scanf("%s", str, 10); 不能接收带空格的字符串输入,虽然它的指定长度是10, 但是遇到空格时即使没有满10个字符它也自动结束输入了。

所以:

1.用 gets() 可以读取空格, 直到回车才会结束输入

char str[80]; 
gets(str);   //可以读取空格, 回车才会结束输入

2.使用"%[^\n]"可以接收输入带空格的字符串,直到回车才结束接收

char str[10];

scanf("%[^\n]",str); //可以读取空格,回车结束输入

 附:正则中的[xxx],%[abc]表示字符组合包括a、b和c,如果遇到这三个字符之外的字符,则停止接收。%[^abc]代表字符组合为abc以外的所有字符,至于横杠是否用于指定某个范围的字符%[a-z],则因编译器而异。

--------------------------------

2019-10-25 16:45:51 第一次改

C语言输入带空格的字符串的更多相关文章

  1. java控制台输入带空格的字符串

    java控制台输入带空格的字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine();

  2. C从控制台(stdin)输入带空格的字符串到字符数组中

    用scanf("%s",array); 的话遇到空格就停止接收后面的字符了,那怎么才能接收带空格的字符串呢? 1.用 gets() ,它可以接收带空格的字符串, 直到回车才结束输入 ...

  3. PAT (Basic Level) Practice (中文)1057 数零壹 (20 分) (按行输入带空格的字符串)

    给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...

  4. C++输入带空格的字符串

    对于字符数组 1.使用 getline() 读入整行数据,回车键输入的换行符确定输入结尾. 调用方法:cin.getline(str, len) 第一个参数str用来存储输入行的数组名称,第二个参数是 ...

  5. GO语言学习笔记1-输入带空格的字符串

    最近开始学习GO语言,并做了一些编程练习.有道题要输入带空格的字符串,这在C/C++中很容易实现,但GO中好像并不那么容易.学过C/C++的可能都知道,在C中可以使用gets()函数,在C++可以使用 ...

  6. C++如何输入含空格的字符串

    1.scanf函数(包含头文件#include <stdio.h>) scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以 ...

  7. iOS开发系列--C语言之数组和字符串

    概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...

  8. R语言:文本(字符串)处理与正则表达式

    R语言:文本(字符串)处理与正则表达式 (2014-03-27 16:40:44) 转载▼ 标签: 教育 分类: R 处理文本是每一种计算机语言都应该具备的功能,但不是每一种语言都侧重于处理文本.R语 ...

  9. C/C++带有空格的字符串输入

    一.带有空格的字符串输入 (一)C++篇 1. 针对字符数组而言 方法一 getline() 读入整行数据,使用回车键输入换行符来确定输入结尾. 调用方法: cin.getline(str,len) ...

随机推荐

  1. es6的let与const

    es6新增命令let,用于声明变量,他与var的不同主要有三点: let有块级作用域 let没有变量提升 同级作用域内,let不可以重复定义 let有块级作用域: es5 for(var i=0;i& ...

  2. git分支的衍合

    一般我们使用衍合的目的,是想要得到一个能在远程分支上干净应用的补丁 — 比如某些项目你不是维护者,但想帮点忙的话,最好用衍合:先在自己的一个分支里进行开发,当准备向主项目提交补丁的时候,根据最新的 o ...

  3. css的尺寸、display的属性、以及浮动和清除浮动的方法

    css的尺寸width heightline-height 行高是由三部分构成,上间距 文本高度 下间距,且上下间距相等.所以文字居中.行高:一旦设置了行高,元素内部必须有内容.line-height ...

  4. QML 移动端适配一个参考思路

    参考: Qt Quick 准确的移动平台屏幕适配 qt qml 高宽自动适配android设备 QML 从无到有 (移动适配) 思路:以一个平台分辨率为基准(如320*480),考虑其与其它平台的比例 ...

  5. Linux的基本指令(2)-Linux从入门到精通第三天(非原创)

    文章大纲 一.高级指令二.练习题三.学习资料下载四.参考文章   一.高级指令 1. hostname指令 作用:操作服务器的主机名(读取.设置)语法1:#hostname 含义:表示输出完整的主机名 ...

  6. SpringCloud学习第四章-Eureka创建

    注:因为有了父项目,所以不需要引入boot的jar,项目都是maven构建 1.pom.xml <?xml version="1.0" encoding="UTF- ...

  7. maven仓库报错 sqljdbc4、ojdbc6、tomcat-jdbc-8.5.14

    报错:Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0  和  Missing artifact com.microsoft.sqlserver: ...

  8. Natas25-writeup

    前言 题目链接: http://natas25.natas.labs.overthewire.org 做这一题花了一些时间,也是由于自己知识点掌握不足,所以分享下解题过程. 题目分析 首先,登录后看到 ...

  9. 性能测试基础---jmeter二次开发

    ·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...

  10. 2019牛客国庆day3-G &CF1238E

    牛客G: 给定大小为N的数组a[],给定M组关系,让你重排a[],使得sum{M队关系的绝对值之差}最小.首先将a排序,然后依次把a填入数组. 假设i在二进制下有x个1,用dp[i]更新dp[i|(1 ...