哪位大神能告诉我关于该代码switch语句中的运作情况

#include <iostream>
using namespace std;

int main()
{
double income, deduction = 0;

cout << "input income : ";
cin >> income;

int level = (income >= 1500) +
(income >= 4500) +
(income >= 9000) +
(income >= 35000) +
(income >= 55000) +
(income >= 80000);

switch(level)
{
case 6:
deduction += (income - 80000) * 0.45;
income = 80000;
case 5:
deduction += (income - 55000) * 0.35;
income = 55000;
case 4:
deduction += (income - 35000) * 0.3;
income = 35000;
case 3:
deduction += (income - 9000) * 0.25;
income = 9000;
case 2:
deduction += (income - 4500) * 0.2;
income = 4500;
case 1:
deduction += (income - 1500) * 0.1;
income = 1500;
case 0:
deduction += income * 0.03;
}

cout << "deduction = " << deduction << endl;

return 0;
}

switch语句,根据switch后面括号里的变量,选择进入分支,若没有对应分支就选择default:分支,defualt也没有,就直接跳出。进入分支后,顺序执行,碰到break就跳出。没碰到会一直执行到最后,就好像你这个例子。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜