A的问题是:switch只能接受integer类型变量。如果按照A的写法,那么编译器大概会提示你switch quantity not an integer。B的问题是:switch后面多加了;号,在编译器看来,会认为case条件没有与一个switch关联。CD从语法角度看上去是没有什么问题,只不过就是程序运行的时候,因为a+b的值都不在case里,所以不会有任何显示。个人觉得如果题目里都能加上default的处理的话,就更完善一些哈。