switch能做到的,if都能做到,反过来就不一定了。switch是没有>、<判断switch只能判断整型数多看看书。追问switch是怎么用的我的书上说不清楚。比如 switch(x/10) { case 2:printf("A"); case 1:printf("B"); case 0:printf("C"); }发生了什么事情,是判断? 从上还是下开始判断?判断完一个后,会继续判断吗?谢谢!
追答每个case 语句后一般要加上break;case 2:printf("A"); break;case 1:printf("B"); break;case 0:printf("C"); break;像你这样写没加break,先普及下知识:“case 常量表达式 :”只相当于一个语句标号。判断是发生在switch的地方的。如 x=20;switch 判断后,会跳转到“case 2:”语句标号处执行。printf("A"); 继续执行”case 1:“只是标号,不做判断。printf("B");printf("C");
if...else比switch()更强大,比如switch()中case不能为字符串但是if里面的条件什么都可以,所以if..else可以替换switch(),但是反过来就不可以