A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流风124 中级黑马   /  2015-3-24 21:41  /  1403 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是我在做基础测试的时候遇到的问题,关于输入函数的
gets()函数,在编译完成后会报警告,我上网查了一下,是会有溢出的危险,但是使用scanf()不接收空格和Tab键,当输入字符串的时候又感觉使用getchar()函数很麻烦,网上有说使用fgets()函数,但这个貌似是读文件的吧,想请问大神有没有什么好的解决方法:dizzy:

7 个回复

正序浏览
adolph 中级黑马 2015-3-26 01:02:19
8#
                                                         过来学习下      
回复 使用道具 举报
不知道 还没有学习到啊
回复 使用道具 举报
hellooc 发表于 2015-3-24 22:48
警告是编译器的原因,比如在VS中使用gets会警告,并且建议使用其他函数代替,比如你说的fgets,而在VC中使 ...

使用fgets()不是接收从文件读入的记录的吗?可以接收从屏幕输入的?
回复 使用道具 举报

岳挺 发表于 2015-3-14 21:34
scanf(),getchar(),gets()三者的用法和区别?

读取字符时:
scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
getchar()以Enter结束输入,也不会舍弃最后的回车符;
读取字符串时:
scanf()以Space、Enter、Tab结束一次输入
gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符
回复 使用道具 举报
gets()函数是警告的 可以编译运行的 不影响我们的操作,当然多学点还是比较好的。
刚刚看到一个朋友在另一个帖子发的对比 我给你粘贴一下哈。
回复 使用道具 举报
不太了解,学习了
回复 使用道具 举报
警告是编译器的原因,比如在VS中使用gets会警告,并且建议使用其他函数代替,比如你说的fgets,而在VC中使用就不会
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马