不懂这个switch怎么算

 

这里有陷进啊。其实和x%y没啥关系,这个程序永远最后执行的是default,因为case 后面都没有break。k=x/y,整数相除是整除,不会有小数。2/5最后的结果是0

上当的话,就回去看switch的条件,x%y=2,可能回答k=x*y=10

x%y 的结果为 2%5=2
进入case 2: k=x*y  k=2*5   k=10

图中代码 没有进行break;
所以会进入default:

k=x/y  k=2/5 k=0

记住switch语句一定要有break;没有的话它会一直顺序往下执行,最终必然执行default语句。相除结果为0.

x%y=2%5=2
switch执行case 2以后的
k = x*y = 2*5=10;
因为没有break语句,所以继续执行default: 
k= x/y = 2/5 =0;
所以答案是B

x%y是求余数,2%5=2,除数为0余2

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632