鱼C论坛

 找回密码
 立即注册
查看: 1484|回复: 5

[已解决]字符指针会读取空格吗

[复制链接]
发表于 2021-9-4 13:47:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大家好!我有一个问题,详情如下:
我的代码:
打印结果:
不输入空格可以正常打印abcd
输入空格,只能打印到空格前(即ab)
我想知道这是为什么?
以及如何打印出
ab  cd
最佳答案
2021-9-4 14:06:58
scanf()碰到空格,回车,制表符就不读了,可以用gets(),gets()可以读取空格,碰到回车就结束,并且把缓冲区的回车丢弃,但是用gets()之前要确保申请的内存足够大
屏幕截图 2021-09-04 134510.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-4 14:06:58 | 显示全部楼层    本楼为最佳答案   
scanf()碰到空格,回车,制表符就不读了,可以用gets(),gets()可以读取空格,碰到回车就结束,并且把缓冲区的回车丢弃,但是用gets()之前要确保申请的内存足够大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-4 14:10:03 | 显示全部楼层
楼上说得对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-4 16:53:49 | 显示全部楼层
很对,put是个好东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-4 16:54:13 | 显示全部楼层
donjames 发表于 2021-9-4 14:06
scanf()碰到空格,回车,制表符就不读了,可以用gets(),gets()可以读取空格,碰到回车就结束,并且把缓冲区 ...

或者可以用fgets(),不过 参数比较多,但是更加安全
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-4 19:17:32 | 显示全部楼层
donjames 发表于 2021-9-4 14:06
scanf()碰到空格,回车,制表符就不读了,可以用gets(),gets()可以读取空格,碰到回车就结束,并且把缓冲区 ...

好的谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 04:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表