C语言中switch语句的case后面不能是一个关系表达式,case后面跟的是一个常量表达式,CASE表达式的真假值判断就会中止,而剩余的 WHEN子句会被忽略。

不能,case后面是常量表达式。

要注意 CASE 表达式里各个分支返回的数据类型是否一致。某个分支返回字符型,而其他分支返回数值型的写法是不正确的。

使用 CASE 表达式的时候,最容易出现的语法错误是忘记写 END 。虽然忘记写时程序会返回比较容易理解的错误消息,不算多么致命的错误。而执行时却出错的情况大多是由这个原因引起的。

687f0280f7f7e5f763e2fa62d1fe25a.png

CASE表达式的执行结果是 NULL 。但是不写可能会造成"语法没有错误,结果却不对"这种不易追查原因的麻烦,所以写上 ELSE 子句(即便是在结果可以为 NULL 的情况下)。

扩展资料

1、CASE表达式的真假值判断就会中止,而剩余的 WHEN子句会被忽略。为了避免引起不必要的混乱,使用 WHEN子句时要注意条件的排他性。

2、当case后的表达式的值与switch表达式的值相等时, 即执行对应case后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

推荐教程: 《c语言教程》

更多相关文章

  1. for循环是先执行循环体语句,后判断表达式吗?
  2. 判断char型变量ch是否为大写字母的正确表达式是什么
  3. Go语言使用正则表达式提取网页文本
  4. 在Go中使用正则表达式
  5. 使用正则表达式进行xml数据验证的代码实例详解
  6. 可以用在 VS Code 中的正则表达式小技巧[每日前端夜话0x68]
  7. 正则表达式中零宽断言的用法
  8. 使用requests+正则表达式爬取猫眼电影排行
  9. Python 3.9 新特性:任意表达式可作为装饰器!

随机推荐

  1. 三星平台 android audio 架构探讨点滴积
  2. Android传感器高级编程
  3. NDK编译Android字符界面的可执行程序
  4. Hello, Android!
  5. Android(安卓)GSM驱动模块详细分析
  6. Android跨进程通信之非AIDL(二)
  7. 视图模式:Android ViewPager & WP Pivot
  8. Android问题(一)Android Studio 提示"Error
  9. Android(安卓)SDK更新后出现No target av
  10. Android生成和扫描二维码之ZXing