|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 各位看看下面这个函数
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
607
人关注过本帖
标题:
各位看看下面这个函数
只看楼主
加入收藏
shiningwater
等 级:
新手上路
帖 子:51
专家分:5
注 册:2010-3-25
结帖率:
93.75%
楼主
收藏
已结贴
√
问题点数:5 回复次数:9
各位看看下面这个函数
void input()
{
int i;
for(i=0;i<10;i++)
{printf("input num:\n");
scanf("%d",&num[i]);
printf("input name:\n");
getchar();
gets(ch[i]);
}
}
该函数作用是输入10位职工的职工号和姓名。可是不知道其中为什么要用一个getchar();如果不用的话结果又不对。它在这里起什么作用啊?
搜索更多相关主题的帖子:
函数
2010-09-18 23:27
举报帖子
使用道具
赠送鲜花
清风拂晓
来 自:火星
等 级:
蝙蝠侠
威 望:
1
帖 子:356
专家分:889
注 册:2010-8-13
第
2
楼
收藏
得分:2
吸收回车键 不然回车键会当作字符给CH【I】
清风拂暮(木)
2010-09-18 23:44
举报帖子
使用道具
赠送鲜花
shiningwater
等 级:
新手上路
帖 子:51
专家分:5
注 册:2010-3-25
第
3
楼
收藏
得分:0
谢谢楼上侠客。不过还是有些疑惑。你是说每次在执行完scanf()后的回车会给ch[i]是吧,但是中间还有一个printf()输出语句,把这两个输入语句隔开了呀,这样也会有影响吗?小的菜鸟人物额~~望指点~~
2010-09-19 00:13
举报帖子
使用道具
赠送鲜花
shiningwater
等 级:
新手上路
帖 子:51
专家分:5
注 册:2010-3-25
第
4
楼
收藏
得分:0
回复 2楼 清风拂晓
谢谢楼上侠客。不过还是有些疑惑。你是说每次在执行完scanf()后的回车会给ch[i]是吧,但是中间还有一个printf()输出语句,把这两个输入语句隔开了呀,这样也会有影响吗?小的菜鸟人物额~~望指点~~
2010-09-19 13:42
举报帖子
使用道具
赠送鲜花
真我
等 级:
业余侠客
威 望:
1
帖 子:146
专家分:210
注 册:2010-7-14
第
5
楼
收藏
得分:0
scanf就是从键盘输入取值,从键盘输入都放入缓存,与printf没有关系
2010-09-19 13:49
举报帖子
使用道具
赠送鲜花
真我
等 级:
业余侠客
威 望:
1
帖 子:146
专家分:210
注 册:2010-7-14
第
6
楼
收藏
得分:0
好好看输入与输出流吧
2010-09-19 13:51
举报帖子
使用道具
赠送鲜花
花梅
来 自:黑东方
等 级:
论坛游民
帖 子:32
专家分:51
注 册:2010-9-19
第
7
楼
收藏
得分:0
它也是DOS停留的,如果没有这个语句 显示结果就不会停在画面上
你也看不到的
2010-09-19 14:21
举报帖子
使用道具
赠送鲜花
shiningwater
等 级:
新手上路
帖 子:51
专家分:5
注 册:2010-3-25
第
8
楼
收藏
得分:0
那如果是连续两次输入整型数据呢?中间需要加getchar()来接受回车吗?
2010-09-20 11:56
举报帖子
使用道具
赠送鲜花
Invariably
等 级:
论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
第
9
楼
收藏
得分:0
自己编程的时候在两个整数的输入中间没有用这个函数,没有什么影响!
2010-09-21 14:38
举报帖子
使用道具
赠送鲜花
lwlls668
等 级:
论坛游民
帖 子:59
专家分:72
注 册:2010-4-9
第
10
楼
收藏
得分:3
呵呵
我以前也有过这个疑惑
还在这儿发了一个差不多的帖子呢
那个人给我的回答
是对了
但不是很详细
后来我上百度查了下
答案是这样的:
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结果,但回车不属于这个字符串,系统自动用'\0'代替最后的换行符。其调用格式为: gets(s); 其中s为字符串变量(字符串数组名或字符串指针)。 gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到回车为止。需要注意的是,在执行过之前的读入操作后,gets函数会将行末的回车符当作一个空行读入,因此有必要时可以写两句。
地址:http://baike.baidu.com/view/1457521.htm
看完这个你就明白了。
2010-09-21 14:45
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
各位看看下面这个函数
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.039640 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved