| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:有关数组的问题
只看楼主 加入收藏
YoYo2009
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-12-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
有关数组的问题
在定义一个字符数组如char c[20]后,再向其中输入时,用gets()函数输入和用scanf函数输入一个有空格的字符串比如“how are you”,效果不一样啊,用gets()函数会将所有字符赋给c数组,包含空格,而scanf 函数只将how赋给c数组,这是为什么啊???
2009-12-27 17:56
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:15 
gets()内部定义是以回车为结束标志
而scanf()则是以空白符和回车为结束标志
你可以去看gets()与scanf()的定义


[ 本帖最后由 风之上位 于 2009-12-27 18:14 编辑 ]
2009-12-27 18:11
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
基础知识。。。多看书

想象力征服世界
2009-12-27 20:43
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
用scanf的话一按空格就结束一次输入了啊....
2009-12-27 21:36
YoYo2009
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-12-25
收藏
得分:0 
回复 3楼 longlong89
俺用谭浩强的C程序设计第三版,产生该疑问是因为看到第146页的字符串处理函数介绍中第二个gets函数,我一个字一个字看的,也没发现他将gets和scanf函数的这一区别做说明。。。。不过我现在知道了,2楼的同志说的很清楚。
2009-12-28 12:44
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:5 
用gets函数输入数组时,只有遇到回车符才认为字符输入完毕;而scanf函数遇到空格,回车符,跳格符都认为字符输入完毕。
用gets函数,会无视how are you中的空格;而scanf函数遇到“how”后的空格,会自动认为输入完毕。

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2009-12-28 13:10
快速回复:有关数组的问题
数据加载中...
 
   



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

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