单选题
若有定义语句int a,b; double x;,则下列选项中没有错误的是______。
A.switch(x%2)
case 0:a++;break;
case 1:b++;break;
default:a++;b++;
B.switch((int)x/2.0)
case 0:a++;break;
case 1:b++;break;
default:a++;b++;
C.switch((int)x%2)
case 0:a++;break;
case 1:b++;break;
default:a++;b++;
D.switch((int)(x)%2)
case 0.0:a++;break;
case 1.0:b++;break;
default:a++;b++;
【正确答案】
C
【答案解析】[解析] %运算符两边的表达式必须是整型,所以选项A、B错误。选项D中switch后的表达式类型和case后的表达式类型不一致。