| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:各位看看下面这个函数
只看楼主 加入收藏
shiningwater
Rank: 1
等 级:新手上路
帖 子: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
清风拂晓
Rank: 8Rank: 8
来 自:火星
等 级:蝙蝠侠
威 望:1
帖 子:356
专家分:889
注 册:2010-8-13
收藏
得分:2 
吸收回车键 不然回车键会当作字符给CH【I】

清风拂暮(木)
2010-09-18 23:44
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
谢谢楼上侠客。不过还是有些疑惑。你是说每次在执行完scanf()后的回车会给ch[i]是吧,但是中间还有一个printf()输出语句,把这两个输入语句隔开了呀,这样也会有影响吗?小的菜鸟人物额~~望指点~~
2010-09-19 00:13
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
回复 2楼 清风拂晓
谢谢楼上侠客。不过还是有些疑惑。你是说每次在执行完scanf()后的回车会给ch[i]是吧,但是中间还有一个printf()输出语句,把这两个输入语句隔开了呀,这样也会有影响吗?小的菜鸟人物额~~望指点~~
2010-09-19 13:42
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
scanf就是从键盘输入取值,从键盘输入都放入缓存,与printf没有关系
2010-09-19 13:49
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
好好看输入与输出流吧
2010-09-19 13:51
花梅
Rank: 2
来 自:黑东方
等 级:论坛游民
帖 子:32
专家分:51
注 册:2010-9-19
收藏
得分:0 
它也是DOS停留的,如果没有这个语句 显示结果就不会停在画面上  你也看不到的
2010-09-19 14:21
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
那如果是连续两次输入整型数据呢?中间需要加getchar()来接受回车吗?
2010-09-20 11:56
Invariably
Rank: 2
等 级:论坛游民
帖 子:54
专家分:46
注 册:2010-9-18
收藏
得分:0 
自己编程的时候在两个整数的输入中间没有用这个函数,没有什么影响!
2010-09-21 14:38
lwlls668
Rank: 2
等 级:论坛游民
帖 子:59
专家分:72
注 册:2010-4-9
收藏
得分: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
快速回复:各位看看下面这个函数
数据加载中...
 
   



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

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