Rumah >masalah biasa >gets和scanf有什么区别

gets和scanf有什么区别

不言
不言asal
2019-02-22 16:25:3536689semak imbas

gets和scanf有什么区别

gets和scanf都是可以在C语言中用于读取字符串的,但是它们实际上也有很大的不同,本篇文章我们就来看一下gets和scanf之间有什么区别。

gets和scanf的区别

1、 gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。

例如:如果输入为"hello world"时,上面程序的运行结果是"hello world"。而如果用scanf则只能输出hello

2、scanf对末尾回车符的处理:把回车符保留在缓存中。gets对末尾回车符的处理:接收回车,但把回车替换为\0.

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

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

Atas ialah kandungan terperinci gets和scanf有什么区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn