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");} 展开
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");} 展开
3个回答
展开全部
选B
switch语句 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
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语句的另一种用法
展开全部
A.switch里要int
C:case里要常量
D.同上
C:case里要常量
D.同上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是B (int)x就是把x强制转换成int类型的
追问
麻烦你看下c答案,能给我各答案为什么错的解析嘛
追答
即使格式正确,c里面也没有答案啊,a+b是4 case后面只有1和3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询