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

如题所述

区别:
  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直接读到一个空字符串。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-07
gets函数是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读到字符串中。
getchar()是读取一个字符,包括回车键也会被读成一个字符。
这个程序在输入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,输入整数后按的回车键给读走,否则这个回车键会导致gets直接读到一个空字符串。
第2个回答  2020-02-26
getchar();是用于接收输入完数字后按下的那一个回车键的。
getchar是输入字符
gets是输入字符串本回答被提问者采纳
相似回答