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

#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); }

第1个回答  2020-03-06
  区别:
  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直接读到一个空字符串。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网