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

学习 时间:2026-04-03 10:01:45 阅读:2950
若有定义;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");}

最佳回答

缓慢的翅膀

舒服的刺猬

2026-04-03 10:01:45

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

最新回答共有2条回答

  • 不安的大碗
    回复
    2026-04-03 10:01:45

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

上一篇 有catch sb do sth 这个结构吗?

下一篇 两栖动物的特征(脊椎)