scanf与gets分析和总结.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在C 语言中,能构获取字符串的函数至少有两个: 1.scanf() 所在头文件:stdio.h 语法:scanf(格式控制字符串,变量地址列表); 接受字符串时:scanf(%s,字符数组名或指针); 2.gets() 所在头文件:stdio.h 语法:gets(字符数组名或指针); 两者在接受字符串时: 1.不同点: scanf 不能接受空格、制表符Ta 、回车等; 而gets 能够接受空格、制表符Ta 和回车等; 2.相同点: 字符串接受结束后自动加\0。 例 1: #include stdio.h main() { char ch1[10],ch2[10]; scanf(%s,ch1); gets(ch2); } 依次键入asd 空格fg 回车,asd 空格fg 回车,则ch1=asd\0, ch2=asd fg\0。 例2: #include stdio.h main() { char ch1[10],ch2[10],c1,c2; scanf(%s,ch1); c1=getchar(); gets(ch2); c2=getchar(); } 依次键入asdfg 回车,asdfg 回车,则ch1=asdfg\0,c1=\n, ch2=asdfg\0,c2 需输入。 /ncre2/cpp/fudao082652778.html gets()与scanf()的区别 Linux C/C++ 2009-01-06 21:36:08 阅读11 评论0 字号:大中小 是否是格式化输入这么明显的就不说了…… 1. gets 函数在输入字符串时,可以输入空格,空格做为字符串的一部分输入; scanf 函数不能输入空格,即遇到字空格时,认为字符串输入结束。 2. scanf 在从stdin 流读取输入时,遇到回车键即\n,则停止,\n仍留在 输入流中,且忽略空格,使用时,如果有多个输入函数被调用,需注意对多 回车的读取,一般使用getchar(); gets 接收输入时,不对接收变量进行检查,容易产生内存溢出; 在写一个小程序,发现 scanf ()不能输入空格。首先从网上找到了一下,发现用gets ()函 数能够实现空格输入。 对gets ()函数的介绍如下: gets ()函数的原型:char * gets(char *str) 函数功能:从标准输入流读取字符串并回显,读到回车符时退出 这个函数从系统的标准输入设备中读入字符串。在此, 假设标准输入设备为键盘。由于一个串 没有预先定义它的长度, gets()需要用一种方法来知道什么时候应该停止读入, 它的方法是一 个个读入字符直到读入一个换行 \n 符停止。这个换行符是通过敲键盘上的 [enter] 键产生 的。函数读入换行符前的所有字符但不包括换行符, 并且将读入的串送入调用它的程序。 gets() 有两种可能的返回值。如果一切顺利的话, 它返回读入的串, 正如我们说过的。如果 其中出现什么错误或 gets() 遇到一个 EOF 字符, 它返回一个 NULL 。这样 gets() 中带有一 些错误检查。 但是同时有人说不推荐使用 gets ()函数。因为它有个能致命的缺陷,就是不能指定缓冲区, 当输入的字符大于缓冲区写入的空间,会使缓冲区溢出,这将有可能会导致不可预料的错误, 这种错误可能是非常严重的。

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档