一个switch语句的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 16:46:26
若有定义float x=1.5;
switch(x)
{
case 1.0:printf("*");
case 2.0:print("**");

}
这个switch语句错哪了??????

switch的判断条件只能是等于,所以对于数据类型的精度要求比较高。
字符型、布尔型、枚举型都可以转换成整型进行判断,是因为整形在相等不相等上有很大的确定性,而float和double表示的小数,毕竟精度都是有限的,超过限度以后的等于和不等于计算机就不好判定,故不能用。

switch语句不能用于float数据类型

case 后面的只能是一个整型的数

你定义的x=1.5,
而switch 后面的要怎么选择呢?

switch(x)
其中的X要是int整型。

switch(x)
中x只能为int型