C语言中gets()函数和getchar()函数什么区别 ?在这个程序段中,有什么用?

#include<stdio.h>#defineN10voidinput(intnum[],charname[N][8]){inti;for(i=0;i<N;i++){p... #include<stdio.h>
#define N 10
void input(int num[],char name[N][8])
{
int i;
for(i=0;i<N;i++)
{
printf("input number: \n");
scanf("%d",&num[i]);
printf("input name: \n");
getchar();
gets(name[i]);
}
}
void main()
{
int num[N];
char name[N][8];
input(num,name);
}
展开
 我来答
金鱼8884
推荐于2016-08-28 · 知道合伙人数码行家
金鱼8884
知道合伙人数码行家
采纳数:124 获赞数:14950
学生

向TA提问 私信TA
展开全部
  区别:
  1、gets读一行,getchar()读一个字符。
函数原型:
char * gets(char * ptr);
int getchar(void);

2、函数用法:
1)gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写入的数组大小。

2)getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。
  这个函数中的作用:

  这个程序在输入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,输入整数后按的回车键给读走,否则这个回车键会导致gets直接读到一个空字符串。
忘至白葬不情必0T
推荐于2018-02-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
gets函数是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读到字符串中。
getchar()是读取一个字符,包括回车键也会被读成一个字符。
这个程序在输入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,输入整数后按的回车键给读走,否则这个回车键会导致gets直接读到一个空字符串。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-29
展开全部
getchar();是用于接收输入完数字后按下的那一个回车键的。
getchar是输入字符
gets是输入字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仵岚翠r1
2011-12-29
知道答主
回答量:32
采纳率:0%
帮助的人:20.1万
展开全部
赞同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式