这个开关语句错在了什么地方???

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:04:07
已知int a,b
switch(a/10+b)
{case 5:a/5;break;
default:a+b;}
这个语句错在什么地方?

你可能对开关语句(也称多分支选择语句)的用法不太熟悉。一般形式如下:
switch(e)
{case ci:语句i;break;
....
case cn:语句n;break;
[default:语句]
}
其中的表达式e可以是整型,字符型,枚举型;常量表达式ci需与e类型一致。若ci=e,则执行case ci对应的语句。
1)你只定义a,b为整型但未赋初值,故执行到它时,计算机随机给a/10+b赋个值;
2)你对C语句的定义也有点含糊,a/5;和a+b;并称不上是语句,不过是在两个变量的后面加了个“;”你若真想用到它们,可以用赋值语句,将其赋给其它变量。

a/5的值你没有赋啊,a/5不能单独作为语句
case 5:a=a/5;break;
下面的a+b也是,不能单独作为语句
default:a=a+b;

int a,b
switch(a/10+b)
{case 5:a/5;break;
default:a+b;}

没有给a b赋初值就使用。

case 5:a/5;break;
a/5;的左边要有变量 a/=5;