scanf,gets,fgets三个函数区别

scanf除了%c其他不会吸收空格、换行符,以换行当成输入的终止即缓冲区解除阻塞状态,前提是前面得有内容;以空格当成读取数据的终止。gets函数会读取空白字符,会抛开缓冲区的换行但不会读入目标数组,并且即使没有输入内容,一遇到换行也会停止输入。fgets吸收换行。

参数上,gets和scanf都是stdin输入流,只能从键盘中读取数据输入到程序的内存上,而fgets不仅能从键盘字符串,还能读取文件,fets有三个参数,有读入的字符个数限制。
 

你可能感兴趣的:(c语言)