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

若有以下定义: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为什么是错的
酸泥巴 1年前 已收到1个回答 举报

5aa06358 幼苗

共回答了28个问题采纳率:82.1% 举报

话说只有C是正确的吧
A和B使用了非整形表达式,switch里只能用整形表达式,字符会被转换成整形,case里只能用常数,并且各异
而D的switch后面有个分号 switch(a-b);

1年前 追问

4

酸泥巴 举报

话说 只有D是正确的 C 好象不正确 D只比多了个 所以你说的 如果对 C也错

举报 5aa06358

是转义字符,在字符串里用, n被解释为换行, 没有的n只是字母 d的你可以到编译器上试一试, switch那行后面的分号';' 把switch语句结束了 而case就不在switch里了

酸泥巴 举报

你的回答非常正确 谢谢 我看错了 嘿嘿 那小分号 没看见
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.032 s. - webmaster@yulucn.com