问题
单项选择题
若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch 语句是( )。
A.switch( {case 1.0: printf("*\n"); case 2.0: printf("**\n");}
B.switch((in; { case 1: printf("*\n"); case 2: printf("**\n");}
C.switch(a + { case 1: printf("*\n"); case 2+1: printf("**\n");}
D.switch(a+ { case 1: printf("*\n"); case c: printf("**\n");}
答案
参考答案:C
解析: switch 后的括号中只能是整型或字符型表达式,选项A中使用的是浮点型变量x,故不正确。选项B在switch的括号后面多了一个分号,故也不正确。switch的case标号后只能是常量或常量表达式,而不能是变量,所以选项D也不正确。故应该选择C。