为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

5 回答

20、40是怎样而来。首先讲解一下代码的执行过程:在A中 由于$num赋值为2、$sum初始赋值为10,所以case 2符合条件,也就完成$sum=$sum+10,其结果也就是20,由于其后带有break关键字这样就使得程序跳出循环;在B的switch中,由于没有break结束循环关键字,且$num喝$sum被重新赋值为2和10,当switch中条件为2时候,case 2也就符合了条件,所以是从case 2开始计算,由于未带break关键字,最后计算到default就是40了;你也可以试一试把注释掉default这一段 结果会变成30;如果$sum和$num没有被重新赋值,其结果也会不一样.

1 回复 有任何疑惑可以回复我~

@Lwvehz 恍然大悟

0 回复 有任何疑惑可以回复我~

sum初始赋值10 num=2 故从case=2开始执行,但是因为没有break执行好了继续执行case 3 和default两个语句。

1 回复 有任何疑惑可以回复我~

我觉得应该是从case2 开始运行,因为num=2,所以是从case2开始继续运行,一共执行了3次+10,所以显示出40.

4 回复 有任何疑惑可以回复我~

回为没有break语句,所以先后执行了 case 1: $sum = $sum + 10; case 2: $sum = $sum + 10; case 3: $sum = $sum + 10;这三条语句。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信