首页 > 其他分享 >switch case 中 case 后值有多个,或者是一个范围的编码方式

switch case 中 case 后值有多个,或者是一个范围的编码方式

时间:2023-07-19 17:35:13浏览次数:33  
标签:case ... 编译器 switch result 编码方式 范围

case low ... high :

case 范围的行为就好像为从 low 到 high(包含边界值)的给定范围内的每个值指定了 case 标签。(如果 low 和 high 相等,则 case 范围仅指定一个值。)下限值和上限值必须符合 C 标准的要求,即它们必须是有效的整型常量表达式(C 标准 6.8.4.2)。case 范围和 case 标签可以随意混合,一个 switch 语句中可以指定多个 case 范围。

以下编程示例说明了 switch 语句中的 case 范围:

enum kind char_class(char c) 
{     
     enum kind result;
     switch(c) {
         case 'a' ... 'z':
         case 'A' ... 'Z':
             result = alpha;
             break;
         case '0' ... '9':
             result = number;
             break;
         case ' ':
         case '\n':
         case '\t':
         case '\r':
         case '\v':
             result = white;
             break;
         default:
             result = other;
             break;
     }

除了 case 标签的现有要求以外的错误情形如下:

  • 如果 low 的值大于 high 的值,则编译器会拒绝代码并显示错误消息。由于其他编译器的行为不一致,因此,只有通过错误条件才能确保程序在由其他编译器编译时不会表现出不同的行为。

  • 如果 case 标签的值在已在 switch 语句中使用的 case 范围内,则编译器会拒绝代码并显示错误消息。

  • 如果 case 范围重叠,则编译器会拒绝代码并显示错误消息。

如果 case 范围的一个端点是数值,则在省略号 (...) 两侧留空格以避免其中一个点被视为小数点。

示例:

 case 0...4;   // error
 case 5 ... 9; // ok

标签:case,...,编译器,switch,result,编码方式,范围
From: https://www.cnblogs.com/BlogLwc/p/5634934.html

相关文章

  • switch写法详解
    我们在开发项目中经常遇到对数据的判断进行相应的逻辑(if..else ,三元运算等),Switch语句用来选择多个需要执行的代码块,一定程度上简化了if....else1.语法switch(表达式){casen:代码块break;casen:代码块break;default:默认代码块}2.代码解释计算一次switch......
  • CASE
    原文链接:https://baike.baidu.com/item/CASE/7146393?fr=aladdinCASE是一种自动化或半自动化的方法,能够全面支持除系统调查外的每一个开发步骤。工具简介严格地讲,CASE只是一种开发环境而不是一种开发方法。它是20世纪80年代末从计算机辅助编程工具、第四代语言(4GL)及绘图工具发......
  • ios uiswitch大小
    iOSUISwitch大小在iOS开发中,UISwitch是一个常用的控件,用于切换开关状态的显示。UISwitch的大小是可以自定义的,本文将介绍如何调整UISwitch的大小,并提供一些代码示例。1.调整UISwitch的大小UISwitch的大小可以通过调整其frame属性来实现。frame属性包含了控件的位置和尺寸信息,......
  • JDK有用的新特性-Switch
    目录箭头表达式,新的case标签yeild返回值JavaRecordSwitch的三个方面,参考:JEP361支持箭头表达式支持yied返回值支持JavaRecord箭头表达式,新的case标签Switch新的语法,caselabel->表达式|throw语句|blockcaselabel_1,label_2,...,label_n->expressio......
  • CASE WHEN语句
    CASE表达式是SQL中的条件选择语句,用于根据条件选择相应的结果。它类似于其他编程语言中的switch-case语句。CASE表达式的基本语法有两种:条件THEN结果:CASEWHENcondition1THENresult1WHENcondition2THENresult2ELSEdefault_resultENDFlorida:CASEinput_expr......
  • java代替Switch 的方法
    Java代替Switch的方法在Java编程中,我们经常使用switch语句来根据不同的条件执行不同的代码块。然而,当有大量的条件需要判断时,switch语句会变得冗长而且难以维护。幸运的是,Java提供了一些替代switch语句的方法,使代码更加简洁和可读性更强。1.使用多态多态是面向对象编程的重要概......
  • 异常 if switch finaly
    publicclassDemo05{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);//一旦发生异常,产生异常对象,抛给虚拟机JVM,JVM中止后面的代码。将异常信息全部打印到控制台。程序结束。//输入不匹配异常java.util.Inp......
  • Snake Case VS Camel Case VS Pascal Case Vs Kebab Case
    eg. numberofdonuts=34snakecase:Snakecaseseparateseachwordwithanunderscorecharacter(_). Whenusingsnakecase,alllettersneedtobelowercase(UppercaseforConstantvalueorGlobalvalue).number_of_donuts=3kebabcase:  kebabcase......
  • 机器翻译 | Prompting Large Language Model for Machine Translation: A Case Study
    题目:机器翻译的提示大语言模型:一个案例研究摘要对提示的研究表明,在很少甚至没有监督训练的情况下,提示在许多任务中表现出色。然而,文献中对机器翻译的提示还没有充分的研究。本文对翻译提示策略进行了系统的研究,考察了提示模板和示例选择的各种因素,填补了这一空白。我们进一步......
  • Datapath编码方式
    (5条消息)Datapath综合代码规范(Verilog)_沧海一升的博客-CSDN博客Datapath综合的编码准则-Synopsys-百度文库(baidu.com)......