问题
单项选择题
若有定义语句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后的表达式类型不一致。