有人能告诉我一下C语言中gets函数和scanf函数的区别吗

2024-10-28 00:19:48
推荐回答(3个)
回答1:

char *gets(char *)
从标准输入读取字节流,遇到换行符或文件结束符终止。
例 char a[64];
gets( a );
那么会将读到的字符串保存到a字符数组中,使用的时候有数组越界的危险,要使接收输入的字符数组足够大。
int scanf ( Format [, Pointer, ... ])
根据给定的格式从标准输入读取数据。
例 scanf( "%64s", a ); 从标准输入最多读取64个字符的字符串放到a数组中。比较安全。也可以按照格式,读取整数、浮点数等类型。

回答2:

说的直接点,就是,scanf度字符串时,遇到空格或者回车就会输入结束,而gets,则是可以读空格,遇到回车时,输入才结束

回答3:

gets函数包含在string.h头文件中,而scanf包含在stdio.h中。。。