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


switch(i)
{
case (i>1000): a=1000+1;break;
}

不能,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
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-23
不可以,case只能是常量
第2个回答  2013-10-23
不可以,这里不适合用case
第3个回答  2017-06-08
那case后可以加abc之类吗
相似回答