switch()失败了

刚学switch
在visual stdio上没有报错
但是运行出来没有计算值
不是很搞懂

img

img

img

在上面的if判断中,你对y赋值为1,2,3,4数字,而不是'1','2','3','4'字符,所以case '1' ,case '2' ,case '3' 和 case '4'也分别需要改为 case 1 , case 2,case 3和 case 4 才行的 。
数字1和字符‘1’并不相等,所以你的结果不正确

if中给y赋值不对,应该赋值字符类型而不是int类型。
因为y是char类型,if中赋值的是int类型,导致switch 比较中不相等。

if(){
  y='1';
}else if(){
  y='2';
}
...

主要就是你if里面错误了,因为你设置char y 指定了y的类型是字符串类型,那么你下面的

if(x<3000)
y=1;
else if(x<5000)
y=2;
else if(x<8000)
y=3;
else if(x>=8000)
y=4

应该改成

if(x<3000)
y='1';
else if(x<5000)
y='2';
else if(x<8000)
y='3';
else if(x>=8000)
y='4';

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632