switch 中case的条件问题!

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:08:51
我想让 CASE 后面的条件为一个区域的,怎么改?
switch (i)
case >40&&<46
大概就这样,但是出错了。 。。

要这样,先用IF语句,把区间的值转换成一个个具体的点.
比如:
int i;
if(x<=40) i=1;
if(x>40&&x<46) i=2;
......
switch(i)
case ....
...
希望对你有帮助.

貌似case后面不能为区域,只能为定值,vb的select case 语句倒是可以用范围的,但是c++好像不可以。望高手指正!

C和C++语言中的switch语句,switch()内的表达式必须有一个定值,case后面必须是常量或常量表达式,它只能是switch表达式的一个取值,不能是取值范围。如果想要实现对取值范围进行判断分支,可以使用if语句,如:if(i>40 && i<46)语句。

case 中用break跳出当前的switch语句,用continue是跳出“本次”分支,开始下一次分支。

  基本的C语言语法问题。
switch()内的表达式必须有一个定值
case后面只能是表达式的一个定值,不能指定范围。
如果想要实现以上
可以使用if(i>40 && i<46)语句。

  switch 英[swɪtʃ] 美[swɪtʃ]
  n. 开关; 转换,转换器; 软鞭子; [信] 接线台;
  vt.& vi. 转换; 转变,改变; 关闭电流; 鞭打;
  vt. 转换; (棍棒、鞭子等) 挥动; 迅速转动; 鞭打;

基本的C语言语法问题。
switch()内的表达式必须有一个定值
case后面只能是表达式的一个定值,不能指定范围。
如果想要实现以上
可以使用if(i>40 && i<46)语句。