作业帮 > 综合 > 作业

若有定义;float x=1.5;int a=1,b=3,c=2:则正确的switch语句为( )

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 19:31:39
若有定义;float x=1.5;int a=1,b=3,c=2:则正确的switch语句为( )
A switch(x)
{ case 1.0;printf(“*\n");
case 2.0:printf("**\n");}
B switch((int) x);
{ case 1:printf("*\n");
case 2:printf("**\n")}
C switch(a+b)
{ case 1:printf("*\n");
case 2+1:printf("**\n");}
D switch(a+b)
{ case 1:printf("*\n");
case 2:printf("**\n");}
A的问题是:switch只能接受integer类型变量.如果按照A的写法,那么编译器大概会提示你switch quantity not an integer.
B的问题是:switch后面多加了;号,在编译器看来,会认为case条件没有与一个switch关联.
CD从语法角度看上去是没有什么问题,只不过就是程序运行的时候,因为a+b的值都不在case里,所以不会有任何显示.
个人觉得如果题目里都能加上default的处理的话,就更完善一些哈.