switch (input)
{
case "A":
salary += 500;
break;
case "B":
salary += 200;
break;
case "C":
break;
case "D":
salary -= 200;
break;
case "E":
salary -= 500;
break;
default:
Console.WriteLine("您的输入有问题");
flag = true;
break;
}
if (flag = false)
{
Console.WriteLine("张三的工资是" + salary);
}
当你输入后,switch会匹配对应的case,没有匹配到,则执行default中的代码块。
因为你输入了正确的匹配值,对应的case中的代码执行。但你没有看到输出结果。但也没有报错。
是因为if(flag=false) 在编译这句代码的时候把flag=false解析为给flag变量赋值,再做if判断。所以不会报错,if 中的条件是false,所以不会执行if中的代码块。
因此出现了你所说的情况 |