关于字符串scanf,gets,getchar输入总结!!!

相信大家或多或少都对这几个输入区分的不是那么的清楚,今天就用这篇文章做个全面的说明。

废话不多说,直接上总结

snanf

输入字符串%s的时候,不可以 “abc def” 这样输入,因为有空格,scanf表示结束

同样的也不可以输入制表符,换行符(回车键)

如果是%c输入一个字符,是没有影响的,也是可以输入空格,换行符号的。

和字符串是不一样的

gets

使用这个需要包括头文件,#include<string.h>

gets 函数的官方格式:char * gets (char * str );
在参数列表中,需要传一个字符型指针,也就是我们要输入的字符串的名(数组的名)
gets()函数的主要作用就是接受从键盘输入的一个字符串。

gets遇到\n也就是回车键或者EOF时停止,并将读取的结果存放在指针所指的字符数组中。

getchar

getchar 遇到空格、回车、制表符都正常读取。

最后让大家都头疼的问题就是scanf,gets,getchar会不会残留\n在缓冲区

scanf和getchar是需要自己设置吸收\n的操作的。而gets是不需要的,gets遇到回车\n时,系统自动用'0'代替'\n',表示字符串结束,所以输入一串字符串按下回车,就完成了一次输入。

gets 函数只会遇见回车时结束遇到空格t制表符都会正常读取,而 scanf 遇到空格回车、制表符都会结束。

*******很难再找到这么简短的总结文章了,不妨收藏以备不时之需*******

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值