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

若有定义;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");}
大占卜师歪歪 1年前 已收到1个回答 举报

yanl-021 花朵

共回答了24个问题采纳率:79.2% 举报

A的问题是:switch只能接受integer类型变量.如果按照A的写法,那么编译器大概会提示你switch quantity not an integer.
B的问题是:switch后面多加了;号,在编译器看来,会认为case条件没有与一个switch关联.
CD从语法角度看上去是没有什么问题,只不过就是程序运行的时候,因为a+b的值都不在case里,所以不会有任何显示.
个人觉得如果题目里都能加上default的处理的话,就更完善一些哈.

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.016 s. - webmaster@yulucn.com