当前位置:首页>维修大全>综合>

gets和scanf有什么区别

gets和scanf有什么区别

更新时间:2023-06-25 11:45:39

gets和scanf有什么区别

都是从输入流中读取数据,但功能有很大差别:

1 操作类型不同。gets函数仅用于读入字符串。scanf为格式化输出函数,可以读入任意C语言基础类型的变量值,而不是仅限于字符串(char*)类型。

2 截止字符不同。gets函数固定的以换行符作为结尾,遇到换行符时结束输入。scanf函数默认以空白函数结尾,同时可以对截止函数进行修改。

3 对截止字符处理不同。gets函数会读入截止字符 , 同时将 自动替换为.scanf遇到截止字符时不会继续读取,截止字符将存储于输入缓冲中。

4 返回值类型不同。gets的返回值为char*型,当读入成功时会返回输入的字符串指针地址,出错时返回NULL。scanf返回值为int型,返回实际成功赋值的变量个数,当遇到文件结尾标识时返回EOF。

更多栏目