若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/30 14:22:07
若有以下定义:floatx;inta,b;则正确的switch语句是A)switch(x)B)switch(x){case1.0:printf("*\n");{case1,2:printf("*\n"

若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case
若有以下定义:float x; int a,b; 则正确的switch 语句是
A) switch(x) B) switch(x)
{ case 1.0:printf("*\n"); { case 1,2:printf("*\n");
case 2:printf("**\n") case 3:printf("**\n");
} }
C) switch(a+b) D) switch(a-b);
{ case 1:printf("*\n") ; { case 1:printf("*\n");
case 2:printf("**n"); case 2:printf("**\n");
} 重点  解释C为什么是错的

若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case
话说只有C是正确的吧
A和B使用了非整形表达式,switch里只能用整形表达式,字符会被转换成整形,case里只能用常数,并且各异
而D的switch后面有个分号 switch(a-b);