若有定义语句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++;}A)switch ((int)(x)%2){case 0.0 :a++;break;case 1.0 :b++;break;default :a++;b++;}

问题描述:

若有定义语句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++;
}
A)switch ((int)(x)%2)
{case 0.0 :a++;break;
case 1.0 :b++;break;
default :a++;b++;
}

选C
A中switch ( x%2),x为实数,不能求余
B中(int)x%2.0,2.0为实数,不能求余
D中case 0.0 :a++;break;
case 1.0 :b++;break;
case中不能用实数常量,只能用整型或字符型常量或常量表达式