C语言输入函数详解:scanf, getchar, gets, fgets, scanf_s, gets_s
在C语言中,输入数据的函数主要有以下几种:
-
'scanf()' 函数:从标准输入设备(键盘)中读取数据,格式为'scanf('数据类型', &变量名)'。例如,'scanf('%d', &a)' 表示读取一个整数并存放到变量 a 中。
-
'getchar()' 函数:从标准输入设备(键盘)中读取一个字符,格式为'getchar()',返回值为字符的 ASCII 码值。
-
'gets()' 函数:从标准输入设备(键盘)中读取一行字符串,格式为'gets(字符串变量名)',该函数已经不再安全,因为会导致缓冲区溢出问题。
-
'fgets()' 函数:从标准输入设备(键盘)中读取一行字符串,格式为'fgets(字符串变量名, 最大读取字符数, stdin)',该函数可以指定最大读取字符数,避免缓冲区溢出问题。
-
'scanf_s()' 函数:与'scanf()' 函数类似,但是多了一个安全检查,防止缓冲区溢出问题,格式为'scanf_s('数据类型', &变量名)'。
-
'gets_s()' 函数:与'gets()' 函数类似,但是多了一个安全检查,防止缓冲区溢出问题,格式为'gets_s(字符串变量名, 最大读取字符数)'。
需要注意的是,在使用输入函数前,需要先清空输入缓存区,可以使用'fflush(stdin)' 函数清空缓存区。
原文地址: https://www.cveoy.top/t/topic/nKIz 著作权归作者所有。请勿转载和采集!