| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:程序中遇到的一个问题
只看楼主 加入收藏
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
结帖率:84.62%
收藏
已结贴  问题点数:20 回复次数:10 
程序中遇到的一个问题
void input (int num[10],char name[10][8])
{
    int i;
    for(i=0;i<10;i++)
    {
        printf("\ninput No.:");
        scanf("%d",&num[i]);
        printf("input name:");
        getchar();
        gets(name[i]);
    }
}
这是一个输入十个学生的编号和姓名的函数,我想问一下程序中getchar()作用是什么?求详解
搜索更多相关主题的帖子: void 
2011-09-09 22:34
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:0 
没人解答么?
2011-09-09 23:34
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
  清空缓冲区

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-09 23:43
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:0 
回复 3楼 A13433758072
能说详细一点吗?总感觉这里getchar会影响gets接收字符串
2011-09-10 00:10
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:5 
是消除上面scanf("%d",&num[i]);输入的回车符的。
当有scanf 时,输入一个回车表示输入结束,这个回车会停留在输入缓冲区内,所以用getchar将这个从缓冲区中取出来,这样getchar();
才能接受用户的输入,否则它不会接受用户输入的

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2011-09-10 00:30
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:5 
事实上~如果没有~getchar () 你的输入会不完整~因为~你输入后的 回车键~会被后面的程序~读取~所以~需要~清空~缓存区~使程序 正确输入 零波 丽 说

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-10 00:31
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
五楼正解

                                         
===========深入<----------------->浅出============
2011-09-10 00:41
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:10 
回复 4楼 绿茶盖儿
我们用键盘输入的数据是暂时存放在缓冲区的,scanf()读取后会遗留些垃圾数据,如'\n'……之类,gets()是直接从缓冲区读取,会读取到,遗留字符,所以要用前,清空缓冲区

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-10 00:46
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
谢谢~ 阿诺同学 零波 丽 感谢道

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-10 00:47
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:0 
回复 8楼 A13433758072
明白了,感谢
2011-09-10 22:34
快速回复:程序中遇到的一个问题
数据加载中...
 
   



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

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