一般情况下我们都会选择用scanf获取字符串,但是当字符串中含有空格时就会出现以下情况

#include<stdio.h>
int main()
{char arr[10];scanf("%s",arr);printf("%s", arr);return 0;
}

我们发现scanf读到空格就结束了,只读了空格前的那部分

为了解决这种问题,我提供两个解决方法

1、用gets()函数获取

gets()函数可以获取带空格的字符串,直到遇到‘\n’结束

#include<stdio.h>
int main()
{char arr[10];gets(arr);printf("%s", arr);return 0;
}

2、用scanf("%[^\n]",arr);

当我们喜欢用scanf获取完整字符串时,就可以用scanf("%[^\n]",arr);,但是这种方法有点麻烦,不推荐使用

#include<stdio.h>
int main()
{char arr[10];scanf("%[^\n]", arr);printf("%s", arr);return 0;
}

解决scanf无法完整获取带空格字符串问题相关推荐

  1. c 语言字符串输入空格,C++中带空格字符串的输入问题解决

    前言 字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结. C++用cin输入的时候会忽略空格以后的字符,比如 char a[100]; ...

  2. 读取带空格字符串小结

    1 ,gets() 可以无限读取,以回车结束读取,C语言中的函数,在C++中运行会产生bug. 如: #include <iostream> #include <cstdio> ...

  3. JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容

    我们用 innerText 获取到的文本信息是除掉空格的.但有时根据需求我们需要获取到完整的文本信息. 请看效果图: 用 textContent 就可以很好的解决了. 喜欢的点个赞❤吧!

  4. grep匹配带空格字符串以及正则使用

    首先,man grep可以看到官方使用细则 举例:我想匹配"from houban" 则grep ''from\ houbank' 需要使用 '\' 来转义空格. 如果我想匹配&q ...

  5. C语言带空格的字符串输入——gets()函数、scanf()函数缺陷以及改进后的gets_s()函数、scanf_s()函数的简单用法(上)

    **在C语言中,带空格的字符串输入问题相对而言还是比较"坑"的,所以呢,小编就决定要专门谈一谈这个问题,希望对于初学者能够有所帮助. 该篇主要简述了C语言中gets()函数以及sc ...

  6. 关于读入带空格的字符串与输入输出重定向

    一.读入带空格的字符串 由于NOIP官方开始使用C++14编译器,C语言中用于读取带空格字符串的gets()函数已经不可以再用了.作为替代,有以下方法. cin.getline()函数. 函数格式: ...

  7. shell 脚本比较字符串相等_比较带空格的字符串相等的Shell脚本 如何比较两个.....

    ****************************比较带空格的字符串相等的Shell脚本*************************** 如果要比较的字符串中间有空格,可以用下面的程序(摘 ...

  8. C/C++中带空格的字符串的输入

    问题一:带空格的字符串输入(c++) 对于字符数组 方法一:getline() 读入整行数据,使用回车键输入的换行符来确定输入结尾. 调用方法: cin.getline(str, len) 第一个参数 ...

  9. 如何输入一串带空格的字符串?

    2016年11月16日                                    星期三                                     阴 如何输入一串带空格的字 ...

最新文章

  1. virtualbox+vagrant学习-2(command cli)-16-vagrant snapshot命令
  2. 【原】Sharepoint安装:此服务器不是该搜索应用程序的索引器
  3. [android] Serializable 和 Parcelable 区别
  4. 多线程介绍和多线程模块-lock-互斥锁
  5. 懒癌晚期学图论的时候自己用C语言写了个求可达性矩阵的算法~
  6. The reference to entity characterEncoding must end with the ';' delimiter
  7. Sprite Kit 入门教程
  8. C++模板类中使用静态成员变量(例如Singleton模式)
  9. learn the python the hard way习题26~30总结
  10. Modbus的CRC校验算法
  11. python设置单元格宽度_【部分解决】openpyxl的excel设置列宽自适应+设置行高
  12. 数据分析案例-大数据相关招聘岗位可视化分析
  13. C语言解数独(含源码) 2020/8/19
  14. IOS 跳转导航地图
  15. 大一训练赛-20180929-整套代码
  16. 锂电池相关参数及其使用指导
  17. 淘宝客返利机器人哪个好用点?怎么做?
  18. 云数据库ClickHouse资源隔离 - 弹性资源队列
  19. Git教学资源,安装,关联账号,创建/关联/克隆库,版本回退,管理修改基本指令
  20. 前端技术面试核心问题(持续更新)

热门文章

  1. Response 对象 错误 'ASP 0251 : 80004005' 超过响应缓冲区限制 此 ASP 页的执行造成响应缓冲区超过其配置限制。
  2. 发什么视频可以吸引粉丝
  3. 荣耀30没有鸿蒙,荣耀30系列本月中开启MagicUI4.0内测,鸿蒙再进一步
  4. c语言横坐标加一怎么表示,在c语言里自动加一的函数怎么写
  5. 用python实现龙贝格算法
  6. MoMoPlayer,纯java音乐播放器
  7. 关于OleDbCommand中操作数据库的几种方法的区别
  8. 走近支付:一文看懂62个支付名词
  9. 视频提取gif如何操作?教你用gif制作工具快速截取gif
  10. 氢os android 7.0,氢OS Android 7.0一发布, 就好评如潮