设为首页 加入收藏

TOP

C语言的中gets(s)和scanf("%s",s)的区别
2017-07-26 10:22:46 】 浏览:9067
Tags:语言 gets scanf " %s" 区别

C语言的中gets(s)和scanf("%s",s)的区别

二者都是从终端读入字符串。功能为
1、 gets功能为读入一行,并将换行符转换为字符串结束符。
2、 scanf("%s",s);读入时,遇到空白字符,包括空格,制表符,换行符时均会停止输入。

从功能上可以看出不同之处:
1 终止条件不同。gets只有遇到\n时才会结束输入,而scanf遇到空格或制表符时,也会结束输入。
比如输入"test string\n"。
用gets得到的字符串为"test string", 二用scanf得到的是"test"。

2 终止后,对终止字符处理不同。
比如输入为"test\nabcd"。
执行gets后,\n不会留在缓冲区中,即这时调用getchar得到的字符是'a'。
执行scanf后,\n会留在缓冲区,这时调用getchar得到的字符是'\n'。

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PID闭环自动控制直流电机速度 下一篇逗号表达式_琐碎知识

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目