C语言中switch中的case后面可以加判断语句吗

例 switch(i) { case (i>1000): a=1000+1;break; }
2024-11-24 04:44:32
推荐回答(4个)
回答1:

不能,case后面是常量表达式
--------------------------------------------------------------------------------
switch(表达式)
{
case 常量表达式1:
语句1;
break;

case 常量表达式2:
语句2;
break;

……
case 常量表达式n:
语句n;
break;

default:
语句n+1;
break;
}

--------------------------------------------------------------------------------

switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1

回答2:

不可以,case只能是常量

回答3:

不可以,这里不适合用case

回答4:

那case后可以加abc之类吗