float items;
cin >> items;
switch (items) {
case 0.0: cout << "Radio"
case 1.0: cout << "Television"
case 1.5: cout << "Video Camera"
}
这个是错误的,除了没有分号还有几个错误。。改成这样就好了但是可能把提议改了
int items;
cin >> items;
switch (items)
{
case 1: cout << "Radio"<<endl;break;
case 2: cout << "Television"<<endl;break;
case 3: cout << "Video Camera"<<endl;break;
default :cout<<"error"<<endl;break;
}
其实我想问的是switch后和case后为什么不能是浮点型数或双精度数,只能用整型。。
switch语句怎么用
答案:4 悬赏:70 手机版
解决时间 2021-04-12 22:08
- 提问者网友:骑士
- 2021-04-12 01:47
最佳答案
- 五星知识达人网友:狂恋
- 2021-04-12 01:57
switch语句的语法如下(switch,case和default是关键字):
switch ( 表达式)
{
case 常量表达式1 :语句1;break;
case 常量表达式2 :语句2;break;
……
case 常量表达式n :语句n;break;
default:语句n+1;break;
}
说明:
break退出{ }
case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式) 后面没有;(分号)
{}前后没有;(分号)
switch语句规则
case标签必须是常量表达式(constant Expression)
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
不要问为什么,C就这规定!我们只需要了解规则,学会应用即可!
猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位
switch ( 表达式)
{
case 常量表达式1 :语句1;break;
case 常量表达式2 :语句2;break;
……
case 常量表达式n :语句n;break;
default:语句n+1;break;
}
说明:
break退出{ }
case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式) 后面没有;(分号)
{}前后没有;(分号)
switch语句规则
case标签必须是常量表达式(constant Expression)
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
不要问为什么,C就这规定!我们只需要了解规则,学会应用即可!
猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位
全部回答
- 1楼网友:洎扰庸人
- 2021-04-12 04:51
就是一个多路条件选择
从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止。随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case。
switch (表达式){
case 值1 : 语句1
break;
case 值2 : 语句2
break;
...
default : 语句n
break;
}
- 2楼网友:像个废品
- 2021-04-12 04:14
switch语句括号内的表达式可以是整型或字符型,c语言的语法规定,你可以去看看
- 3楼网友:十年萤火照君眠
- 2021-04-12 03:11
第一种除了没有分号外错误就是没加break,这样比如输入0.0会把3个cout语句都执行一遍,严格的说这不是错误,因为是有这种用法的。switch语句括号内的表达式可以是整型或字符型,不能是float型。 如果你想输入像第一种那几个数可以把 items 乘2再强制转换成整形,case后分别写0、2、3
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯