c语言选择程序结构选择题求解,万分感谢,麻烦写下解析,特别是B选项中的(int)b是什么意思啊?谢谢

若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()A)switch(x){case1.0:printf("*\n");case2... 若有定义: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 ((int)x) {case 1:printf("*\n"); case c:printf(**\n");}
展开
 我来答
技术出身的HR
2011-08-10 · 人为善,福虽未至,祸已远离
技术出身的HR
采纳数:302 获赞数:2766

向TA提问 私信TA
展开全部
选B
switch语句 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
追问
麻烦你看下c答案,谢谢
追答
惭愧,因从没用过C这种样式,一直以为表达式不能用,刚用win-TC 1.9.1 和 WIN XP测试C也没有编译错误,可以执行。
如果说C有错误只能是没有执行结果,若改为switch (a+b) {case 1:printf("*\n"); case 3+1:printf("**\n");} 则是没有任何问题的。
所以我认为此题出得至少是不严谨的

不过,还真是谢楼主让我明白了switch语句的另一种用法
zjwzcnjsy
2011-08-10 · TA获得超过315个赞
知道答主
回答量:223
采纳率:0%
帮助的人:111万
展开全部
A.switch里要int
C:case里要常量
D.同上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回yi_过去
2011-08-10 · 超过18用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:33.2万
展开全部
答案是B (int)x就是把x强制转换成int类型的
追问
麻烦你看下c答案,能给我各答案为什么错的解析嘛
追答
即使格式正确,c里面也没有答案啊,a+b是4  case后面只有1和3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式