首页 > 其他分享 >由于没有使用break语句,在成功匹配后,会继续往下执行后面的case语句

由于没有使用break语句,在成功匹配后,会继续往下执行后面的case语句

时间:2023-11-11 12:44:07浏览次数:36  
标签:语句 case 自增 匹配 ++ break

执行以下程序后,x的值为 3

 var x=0; 
 switch(++x) { 
     case 0: ++x; 
     case 1: ++x; 
     case 2: ++x; 
 }

官方解析:
++x是前置自增,也就是先自增加1,再将x返回,
所以switch表达式的值为1,匹配第二个case语句,
同样对x进行前置自增,x的值变为2,
由于没有使用break语句,在成功匹配后,会继续往下执行后面的case语句,
也就是继续执行第三个case语句,最终x值为3

标签:语句,case,自增,匹配,++,break
From: https://www.cnblogs.com/longmo666/p/17825792.html

相关文章

  • 输出瑞年,if语句后面加“;”导致语句失效
    输出1000-2000年之间的瑞年判断条件:(1)能被4整除但不能被100整除;(2)能被400整除#include<stdio.h>intmain(){ inti; for(i=1000;i<=2000;i++) { if(i%4==0&&i%100!=0) { printf("%d",i); } if(i%400==0)//开始这里加了";",结果输出了所有i值,if语句后加分号,只......
  • 注意break除了用于中断循环以及switch语句,还可以用于标签化语句的中断
    请问以下JS代码的输出结果以及变量i的值是?vari=100;functionfoo(){bbb:try{console.log("position1");returni++;}finally{breakbbb;}console.log("position2");returni;}foo();Aposition1、posit......
  • 语句var arr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正
    语句vararr=[a,b,c,d];执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?AMath.max(arr)BMath.max(arr[0],arr[1],arr[2],arr[3])CMath.max.call(Math,arr[0],arr[1],arr[2],arr[3])DMath.max.apply(Math,arr)正确答案:BCDA选项错误......
  • 以下哪些语句触发了隐式的类型转换?
    AparseInt(12.34,10)B0?1:2C2e1*0xaaD1+'1'正确答案:ABDparseInt()函数可解析一个字符串,并返回一个整数。所以说,number类型的12.34发生隐式转换为string。三元运算符,会判断?前的表达式为true或者false。所以number类型的0发生了隐式转换为boolean。+运算发生......
  • Sql Server根据表生成insert语句
    Createproc[dbo].[P_BackupsCompanyData](@tablenamevarchar(256),@wherevarchar(256))asbeginsetnocountondeclare@sqlstrvarchar(max)declare@sqlstr1varchar(max)declare@sqlstr2varchar(max)select@sqlstr='select''insertinto�......
  • POLARDB IMCI 到底是怎么工作的,事务的路由,执行的计划,与语句执行器
    6分析处理6.1透明查询路由在PolarDB-IMCI中,通过一种基于成本的路由协议,可以在不同的节点和不同的执行引擎上执行查询。路由过程对应用程序和用户完全透明,并且具有两级策略:节点间路由和节点内路由。节点间路由通过代理层实现读写流的分割(负载均衡),而节点内路由通过优化器提供对数......
  • Shell中的if与case选择结构语法格式
    1if单分支语法构成:if条件测试;then命令序列fi[root@localhostopt]#vimtest02.sh#!/bin/bashif[$UID-eq0];then echo"我是管理员"echookfi[root@localhostopt]#bashtest02.sh我是管理员ok2if双分支语法构成:if条件测试;then命令序列1else命令序列......
  • Sql server 删除重复记录的SQL语句
     有两个意义上的重复记录:1.完全重复的记录,也即所有字段均重复的记录.2.部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。1、对于第一种重复,比较容易解决,使用selectdistinct*fromtableName就可以得到无重复记录的结果集。如果该表需要删除重复......
  • (十二)C#编程基础复习——break、continue、goto:跳出循环
    在使用循环语句时,并不是必须等待循环完成后才能退出循环,我们也可以主动退出循环,C#为我们提供了break、continue和goto三种方式来跳出循环:1、break它不仅可以用来终止switch语句,在循环语句中使用时还可以用来跳出循环,执行循环外的下一条语句。如果是在嵌套循环中使用,例如在内层的......
  • 无涯教程-批处理 - For 语句 - List Implementations函数
    "for"构造为批处理文件提供循环功能,以下是用于处理值列表的"for"语句的常见结构。FOR%%variableINlistDOdo_something经典的"for"语句由以下部分组成-variable变量    -对于整个循环,此步骤仅执行一次,并用于声明将在循环中使用的任何变量,在批处理脚本中变量声......