首页 > 其他分享 >C-gets与scanf--------if else 与 if if 的区别

C-gets与scanf--------if else 与 if if 的区别

时间:2022-10-08 23:00:38浏览次数:53  
标签:-------- 语句 scanf else 读入 条件 gets

gets与scanf的区别:

二者都是从终端读入字符串。功能为
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'。
1
2
3
4
5
6
7
8
9
10
11
12
13
# 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;
}

scanf 只能读入连续的字符串 不能存在空白字符,包括空格,制表符,换行符。

if else 与 if if的区别:

if (条件1)
{
//语句1
}

if (条件2)
{
//语句2
}
这种格式中,程序会依次判断条件1和条件2是否成立并根据结果决定是否执行语句1和语句2,也就是说,第一个 if 块和第二个 if 块

没有影响(除非在执行第一个 if 块的时候就凶残地 return 了)

而下面这种格式:

if (条件1)
{
//语句1
}
else if (条件2)
{
//语句2
}
if 块和 else if 块本质上是互斥的!也就是说,一旦语句1得到了执行,程序会跳过 else if 块,

else if 块中的判断语句以及语句2一定会被跳过;同时语句2的执行也暗含了条件1判断失败和语句1没有执行;

当然还有第3个情况,就是条件1和条件2都判断失败,语句1和语句2都没有得到执行。

连续使用的 if是相互独立的,如果使用if else if 第一个if 满足条件的话 之后的else 就不会进行。

标签:--------,语句,scanf,else,读入,条件,gets
From: https://www.cnblogs.com/030622zfy-/p/16770580.html

相关文章

  • SpringBoot整合fastdfs
    1、背景在前一节中,我们搭建了一个单机版的fastdfs服务,此处我们将fastdfs与springboot进行整合,实现文件的上传和下载。2、整合步骤2.1、引入依赖<dependency><group......
  • 二、 基础概念
    2.1Pod概念 Pod类型:自主式pod:即不被控制器管理的Pod,死亡之后不会被重新拉起来,也不会被创建新的Pod。  每个Pod中运行着一个特殊的被称为Pause的容器,其他的......
  • #统计属于当前用户的文件的行数
    #统计属于当前用户的文件的行数#file1file2file3#./test.shfile1file2file3#$#if[$#-lt1]thenecho"usage:$0file..."exit1fiecho"$0开始统计您的文件......
  • B站视频下载工具
    B23Downloader源码地址https://github.com/vooidzero/B23Downloader下载地址https://github.com/vooidzero/B23Downloader/releases特点开源支持下载列表可选......
  • pandas excel
    https://zhuanlan.zhihu.com/p/362709226https://blog.csdn.net/qq_37975685/article/details/107908328https://www.cnblogs.com/flyup/p/15264897.html......
  • 远程浏览器隔离技术
    1、什么是浏览器隔离?浏览器隔离是一项技术,它通过将加载网页的过程与显示网页的用户设备分开以此来保持浏览活动的安全。这样,潜在的恶意网页代码就不会在用户的设备上运行,......
  • vue-4 CSS绑定/Style绑定
    <template><div><divclass="border-style"><h1:class="class3">-----------------CSS绑定-------------------</h1><div:class="{'c1':clEnable......
  • 10.6题目大赏
    2022-10-6T1炼心题目背景\(Cafeiin\)神情认真,专心的听着老师讲话。“既然你已拜入算法门下,我便为你讲讲这算法的修炼之道,算法之道,分几重境界,初入编程,便是普及,普及之上......
  • 语言干净有条理
    语言的干净利落要从两点上去努力。第一,要学会停顿,就是每句话停三秒,在停顿的时间全力想下句话,想好一句话,说一句话,就可以克服那个然后然后的语病;第二,学会一二三这样......
  • 「高中数学」易错点以及不自然处整理
    总结是好事。一直没有学过奥数*,这让我在oi的自学旅途上曾经有过怀疑。可能有帮助的近似\(\ln2=0.69\)\(\ln3=1.09\)数值\(1\)(弧度制)约等于60°。易错点......