为什么我们不能在 switch 语句中使用关系表达式?

计算器

既然true falseC 中没有布尔类型,那么表达式的x == y计算结果是什么,什么时候为真,什么时候为假?

如果它的计算结果分别为 1 和 0,它们是整数,为什么我们不能caseswitch语句中使用s这样的表达式

这背后的正确原因是:

  1. case 只允许整数表达式或计算为整数的表达式,而 x == y 不会计算为整数(我不知道如何计算)?要么
  2. 如果 switch 允许像 case 这样的表达式x==y,那么多个 case很有可能最终具有相同的值,即,无论何时,我们都会得到 1,因此多个这样的 case 将评估为 1 或 0;这在 switch 语句中是不允许的。
MSalters

原因是不是类型x==y,但事实上case需要一个常数。x==y通常不是常数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么不能在switch表达式中使用我的枚举类型?

为什么我们不能在三元语句中使用“pass”?

为什么我不能在类中放置 switch 语句

为什么不能在switch语句中使用元组常量作为大小写

为什么最终变量不能在switch语句中使用?

有什么情况我不能在switch语句中使用'continue'吗?

为什么我们不能在Oracle中使用条件rownum = 5

为什么我们不能在扩展类的静态方法中使用此实例?

为什么我们不能在jquery中使用setAtrribute函数?

为什么我们不能在(非静态)内部类中使用静态方法?

为什么我们不能在内核开发中使用C标准库函数?

为什么我们不能在静态方法中使用'this'关键字

为什么我们不能在Elixir保护子句或宏中使用其他功能?

为什么我们不能在循环中使用 async:true ?

为什么我们不能在Tomcat中使用websocket?

为什么我们不能在FORFILES脚本中使用CALL:label命令?

为什么我们不能在Python中使用其地址访问对象?

为什么我们不能在C中使用变量作为e的值

为什么我们不能在iOS中使用DTrace

为什么我们不能在函数中使用 raw_input?

为什么不能在switch语句中声明变量?

为什么我们不能在插入排序的while循环中更改语句的顺序?

为什么我们不能在动态向量的情况下使用方括号?

为什么我们不能在声明结构变量名称时使用连字符?

为什么我们不能在非指针上使用 * ?

为什么不能在字符串上使用switch语句?

为什么Visual Studio 2019建议使用switch表达式而不是switch语句?

是否可以在switch语句中使用nameof表达式?

switch case语句中的表达式