问题 单项选择题

若有定义: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。

单项选择题
单项选择题