问题
单项选择题
若有定义:
float x=1.5;
int a=1,b=3,c=2;
则正确的switch语句是______。
A.switch(a+b)
case 1:printf("*\n");
case 2+1:printf("**\n");
B.switch((int)x);
case 1: printf("*\n");
case 2: printf("**\n");
C.switch(x)
case 1.0:printf("*\n");
case 2.0:printf("**\n);
D.switch(a+b)
case 1: printf("*\n");
case c: printf("**\n");
答案
参考答案:A
解析: B选项的“switch((int)x);”语句中不应该有最后的分号。switch(expr1)中的expr1不能用浮点类型或long类型,也不能为一个字符串,因此C错误。case后面只能是常量表达式,因此D错误。