区别:
创新互联建站主营科尔沁左翼网站建设的网络公司,主营网站建设方案,APP应用开发,科尔沁左翼h5重庆小程序开发公司搭建,科尔沁左翼网站营销推广欢迎科尔沁左翼等地区企业咨询
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直接读到一个空字符串。
C语言中gets函数与getchar函数的区别
一、函数输入方面
1、gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符不属于这个字符串。其调用格式为:gets(s);s为字符串变量(字符串数组名或字符串指针),gets(s)函数与scanf("%s", s)相似,但不完全相同。
2、而getchar函数运行时字符是连续输入的,运行结果却是正确的,这是因为输入字符后,它们暂存于键盘的缓冲区中,然后由getchar函数从键盘缓冲区中一个一个的取出来。就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理,但gets() 函数将接收输入的整个字符串直到回车为止。
二、字符输入方面
1、gets()函数可以用于对字符串的输入,不需要将字符串拆分成一个一个的字符进行输入。
2、而getchar函数只能用于单个字符的输入,一次输入一个字符。程序的功能是输入一个字符,显示一个字符,回车换行,再输入并显示一个字符。
三、输出格式
1、gets函数是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读回到字符串中。
2、而getchar()是读答取一个字符,包括回车键也会被读成一个字符。这个程序在输入name[i]前,用getchar()把之前scanf("%d",num[i]);中,输入整数后按的回车键给读走,否则这个回车键会导致gets直接读到一个空字符串。
C语言getchar()和gets()的用法:
1、gets读一行,getchar()读一个字符。
2、函数用法:
1)gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写入的数组大小。
2)getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。
拓展资料:
getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。
C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
参考资料:
百度百科——getchar
百度百科——gets
百度百科——C语言