哦,还有 default 忘了告诉你。假如所有 case 条件都不匹配的时候,就执行 default 后面的部分。当然 default 分支是可以省略的,这样的话,找不到匹配条件就不做任何处理。
有趣吧!不过居然还用了两个 if 分支,惭愧。既然 switch 分支是多分支,应该能够包含所有的 if 分支才对啊!再试试: /* 例8 */#include void main() { int n; printf("Please input the score: "); scanf("%d", &n); switch (n / 10) { case 10: case 9: printf("A/n"); break; case 8: printf("B/n"); break; case 7: printf("C/n"); break; case 6: printf("D/n"); break; case 5: case 4: case 3: case 2: case 1: case 0: printf("E/n"); break; default: printf("输入分值错误!"); }} 现在简洁了不少耶!不过连续用两个 case 是什么意思呢?
case 不只是一个标号吗,连续用两个 case 也不过就是让两个标号表示同一个位置而已。这个技巧很好用的哦!
不过从 case 5 到 case 0,写了这么长一串,假如我用一个 if 分支,就可以少写一些代码了。所以,使用 switch 的时候并不是不能使用 if,要视情况而定,让你的代码最简洁!switch 结构同样是可以多重嵌套的——当然套在某个 case 后面,例子我就不用举了吧,学编程的人怎能不会举一反三?!