gets和puts
发布日期:2021-06-29 11:13:54 浏览次数:4 分类:技术文章

本文共 576 字,大约阅读时间需要 1 分钟。

C Primer Plus总结

在读取字符串时,scanf()和转换说明%s只能读取一个单词。可是在程序
中经常要读取一整行输入,而不仅仅是一个单词。许多年前,gets()函数就
用于处理这种情况。gets()函数简单易用,它读取整行输入,直至遇到换行
符,然后丢弃换行符,储存其余字符,并在这些字符的末尾添加一个空字符
使其成为一个 C 字符串。它经常和 puts()函数配对使用,该函数用于显示字
符串,并在末尾添加换行符。
缺点:
gets()函数只知道数组的开始处,并不知道数组中有多少个元
素。如果输入的字符串过长,会导致缓冲区溢出(buffer overflow),即多
余的字符超出了指定的目标空间。如果这些多余的字符只是占用了尚未使用
的内存,就不会立即出现问题;如果它们擦写掉程序中的其他数据,会导致
程序异常中止;

#include
#define SIZE 81int main() { char words[SIZE]; puts("Enter a string, please."); gets(words); printf("Your string twice:\n"); printf("%s\n", words); puts(words); puts("Done"); return 0;}

转载地址:https://blog.csdn.net/ZWHSOUL/article/details/79410149 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:fgets、gets_s和fputs
下一篇:复合字面量(compound literal)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月04日 12时40分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2021!再见,分布式事务! 2019-04-29
面试官邪魅一笑: 你说说 Java8 的 ConcurrentHashMap ? 2019-04-29
万字详解!Git 入门最佳实践 2019-04-29
我在哥大读博的五年,万字总结 2019-04-29
一人干翻专业机构,27岁华裔小伙一战成名!搞出美国新冠最准预测模型,彭博:Superstar 2019-04-29
清华大学 2020 年毕业生就业质量报告!清华本科生 0 人去阿里,交叉信息院硕士没人再深造... 2019-04-29
B站up主用AI还原李焕英 动态影像 2019-04-29
用自己训练的 AI 玩王者荣耀是什么体验? 2019-04-29
Java 8 开发的 4 大顶级技巧,你都知道吗 ? 2019-04-29
如果MySQL磁盘满了,会发生什么? 2019-04-29
博士论文致谢火了!“我走了很远的路,吃了很多的苦,才将这份博士学位论文送到你的面前”!... 2019-04-29
SQL语句中 left join 后用 on 还是 where,区别大了! 2019-04-29
那些让你起飞的计算机基础知识 2019-04-29
一个漂亮妹子的美团面试经历,4轮2小时,成功拿到Offer 2019-04-29
除了不要 SELECT * ,数据库还有哪些技巧 2019-04-29
IDEA 2021.1正式发布,新增了这几个超实用功能! 2019-04-29
一周内被程序员疯转5.6W次,最终被大厂封杀! 2019-04-29
悲痛!中南大学一硕士生坠楼身亡,生前聊天记录被爆出,校方回应! 2019-04-29
豆瓣9.5!《Linux命令行大全》高PDF中文版下载,附一套视频教程... 2019-04-29
刚进美团,就被各种Code Review,真的有必要吗? 2019-04-29