gets和getchar区别:gets函数是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读到字符串中,而getchar函数是读取一个字符,包括回车键也会被读成一个字符。

函数原型:

char * gets(char * ptr);
int getchar(void);

函数用法:

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

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


C语言中 gets 和 getchar 区别?