C中scanf()和gets()之间的区别(代码示例)
导读:收集整理的这篇文章主要介绍了C中scanf( 和gets( 之间的区别(代码示例),觉得挺不错的,现在分享给大家,也给大家做个参考。scanf( 函数它用于从标准输入(键盘)读取输入(字符,字符串,数字数据)。它用于读取输入,直到遇到空格,...
收集整理的这篇文章主要介绍了C中scanf()和gets()之间的区别(代码示例),觉得挺不错的,现在分享给大家,也给大家做个参考。scanf()函数
它用于从标准输入(键盘)读取输入(字符,字符串,数字数据)。
它用于读取输入,直到遇到空格,换行符或文件结束(EOF)。
例如,请参阅以下代码:
#include stdio.h> int main() { char str[20]; PRintf("enter something\n"); scanf("%s", str); printf("you entered: %s\n", str); return 0; }
这里的输入将由用户提供,输出如下:
输入: Geeks for Geeks输出: Geeks输入: Computer science输出: Computer
gets()函数
它用于从标准输入(键盘)读取输入。它用于读取输入,直到遇到换行符或文件结束(EOF)。
#include stdio.h> int main() { char str[20]; printf("enter something\n"); gets(str); printf("you entered : %s\n", str); return 0; }
这里输入将由用户提供如下
输入: Geeks for Geeks输出: Geeks for Geeks输入: Computer science输出: Computer science
它们之间的主要区别是:
scanf()读取输入,直到遇到空格,换行符或文件结束(EOF),而gets()读取输入,直到遇到换行符或文件结束(EOF),gets()在遇到空格时不会停止读取输入而是将空格作为字符串。scanf可以读取不同数据类型的多个值,而gets()只能获取字符串数据。
差异可以表格形式显示如下:
SCANF() | GETS() |
当scanf()用于读取字符串输入时,它会在遇到空格,换行符或文件结束时停止读取 | 当gets()用于读取输入时,它会在遇到换行符或End Of File时停止读取输入。 当它将空格视为字符串时,它不会停止读取遇到空格的输入。 |
它用于读取任何数据类型的输入 | 它仅用于字符串输入。 |
如何使用scanf()读取用户的完整句子
实际上我们可以使用scanf()来读取整个字符串。例如,我们可以在scanf()中使用%[^ \ n] s来读取整个字符串。
#include stdio.h> int main() { char str[20]; printf("Enter something\n"); // Here \n indicates that take the input // until newline is encountered scanf("%[^\n]s", str); printf("%s", str); return 0; }
上面的代码读取字符串,直到它遇到换行符。
例子:
输入: Geeks for Geeks输出: Geeks for Geeks输入: Computer science输出: Computer science
相关推荐:《C教程》
本篇文章就是关于C中scanf()和gets()之间的区别介绍,希望对需要的朋友有所帮助!
以上就是C中scanf()和gets()之间的区别(代码示例)的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C中scanf()和gets()之间的区别(代码示例)
本文地址: https://pptw.com/jishu/593450.html