gets()与scanf的区别

如题所述

第1个回答  2024-02-09
这两种函数的区别在输入方式、安全性和返回值。
1、输入方式:gets()会直接读取输入的一整行文字,包括中间的空格,直到按下回车键。而scanf()则会按照指定的格式来读取输入,中间的空格或换行会自动忽略。
2、安全性:gets()不太安全,因为它不会检查输入的内容是否超过了预定的空间,这可能导致大问题。而scanf()在这方面更安全,因为它会根据指定的格式来读取内容,超出预期时通常会停止读取。
3、返回值:使用gets()读取到内容时,它会返回读取内容的开始位置。如果输入为空或内容有问题,它会返回特殊值表示出错。而scanf()会告知成功读取的内容数量。当输入不符合预期时,它会表示读取失败。
相似回答