作业帮 > 综合 > 作业

若有以下定义:float x; int a,b; 则正确的switch 语句是

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 03:59:15
若有以下定义: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为什么是错的
话说只有C是正确的吧
A和B使用了非整形表达式,switch里只能用整形表达式,字符会被转换成整形,case里只能用常数,并且各异
而D的switch后面有个分号 switch(a-b);
再问: 话说 只有D是正确的 C 好象不正确 D只比多了个\ 所以你说的 如果对 C也错
再答: \是转义字符,在字符串里用, \n被解释为换行, 没有\的n只是字母 d的你可以到编译器上试一试, switch那行后面的分号';' 把switch语句结束了 而case就不在switch里了
再问: 你的回答非常正确 谢谢 我看错了 嘿嘿 那小分号 没看见