首页 > 其他分享 >scanf与gets区别

scanf与gets区别

时间:2023-02-06 21:06:20浏览次数:36  
标签:gets 区别 scanf tp 读入 test include


二者都是从终端读入字符串。功能为
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'。
# include <iostream>
# include <cstdio>
# include <cstring>
using namespace std;

int main(){

char st[1005];
char tp[1003];
int i,j,k,len1,len2;

while(scanf("%s",st),st[0]!='#'){
gets(tp);
//scanf("%s",tp);

cout<<tp<<endl;
}

return 0;
}


标签:gets,区别,scanf,tp,读入,test,include
From: https://blog.51cto.com/u_15955675/6040494

相关文章

  • ng-model与ng-value的区别
    AngularJSexpression,whosevaluewillbeboundtothevalueattributeandvaluepropertyoftheelement. Itisespeciallyusefulfordynamicallygeneratedlis......
  • JvavScript与java中的正则表达式的区别
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scripttype="text/javascript">/*1.JavaScript是部分匹......
  • Git操作—— git add --all、git add.、git add * 的区别(转)
    原文:https://blog.csdn.net/W664160450/article/details/123715481?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-12......
  • objective-c enum 与 typedef的区别
    enum和typedef,在两个小节中书中分别出现了2个例子,如下enumdirection{north,south,east,west};typedefenum{north,south,east,west}dir......
  • 分布式、集群式、负载均衡的区别和联系
    分布式、集群式、负载均衡的介绍:分布式:一个系统拆成多个子系统,部署在不同服务器。每个服务器只做一小块。功能拆分。集群式:每个服务器提供的服务一样,靠数量多取胜。负......
  • Android中margin和padding的区别
    简单地理解:margin为外边框,border为边框,padding为内边框。margin:android:layout_marginTopandroid:layout_marginBottomandroid:layout_marginLeftandroid:layout_mar......
  • Javascript(es2016) import和require用法和区别
    写个简单js文件,假设名字为:lib.js。假设内容如下:exportconstsqrt=Math.sqrt;exportfunctionsquare(x){returnx*x;}exportfunctiond......
  • python的dict和json的区别
    在工作中经常用到数据传输,而数据传输用的是json字符串,那么这个形如字典dict的json,和json又有什么区别呢?区别Python的字典是一种数据结构,JSON是一种数据传输格式。json就......
  • linux 中提取以指定字符开头的数据^和\<的区别
     001、^仅提取以首个字符开头的数据;而\<提取所有单词中以指定字符开头的数据[root@PC1test]#lsa.txt[root@PC1test]#cata.txt##测试数据a1......
  • Hive中Order by和Sort by的区别是什么?
    Hive基于HADOOP来执行分布式程序的,和普通单机程序不同的一个特点就是最终的数据会产生多个子文件,每个reducer节点都会处理partition给自己的那份数据产生结果文件,这导致了在......