问题 单项选择题

若有定义语句int a,b;double x;则下列选项中没有错误的是( )。

A.switch(x%2) {cage 0:a++;break; case 1:b++;break; default:a++;b++; }

B.switch((int)x/2.0) {ease 0:a++;break; case 1:b++;break; default:a++;b++; }

C.switeb((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后的表达式类型不一致。

综合
单项选择题