| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8120 人关注过本帖
标题:gets()是丢弃换行符,再加上'\0'作为字符串的结束呢?还是将换行符转化为’ ...
只看楼主 加入收藏
hongweigege
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-5-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
gets()是丢弃换行符,再加上'\0'作为字符串的结束呢?还是将换行符转化为’\0‘呢?
gets()是丢弃换行符,再加上'\0'作为字符串的结束呢?还是将换行符转化为’\0‘呢
搜索更多相关主题的帖子: 换行符 字符串 
2016-05-17 23:37
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:4 
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用gets函数。
gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。
在C语言中,能构获取字符串的函数至少有两个:
1.scanf()
所在头文件:stdio.h
语法:scanf("格式控制字符串",变量地址列表);
接受字符串时:scanf("%s",字符数组名或指针);
2.gets()
所在头文件:stdio.h
语法:gets(字符数组名或指针);
两者在接受字符串时:
1.不同点:
scanf不能接受空格、制表符Tab、回车等;
而gets能够接受空格、制表符Tab和回车等;
2.相同点:
字符串接受结束后自动加'\0'。

[此贴子已经被作者于2016-5-18 08:28编辑过]

2016-05-18 08:26
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
是将换行转换成\0
2016-05-18 08:56
mege
Rank: 2
来 自:湖南株洲
等 级:论坛游民
帖 子:9
专家分:37
注 册:2016-5-4
收藏
得分:4 
遇到回车就结束,并将其转换为'\0'作为结束标志;

2016-05-18 16:51
FateNightZ
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2016-5-18
收藏
得分:4 
我建议初学者对这些问题,还是自己写个测试用例,看看输出结果,就一目了然!
2016-05-18 17:19
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:4 
C语言早就将gets函数废弃掉了,用fgets替代吧
2016-05-20 09:08
快速回复:gets()是丢弃换行符,再加上'\0'作为字符串的结束呢?还是将换行符转化 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024510 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved