随时转向的命运列车
有时候当你在写条件逻辑时,需要一次又一次地检查同一个变量的值。为了避免写许许多多的
if 语句,C 语言提供了另一种选择:switch 语句。
switch 语句和 if 语句有些像,但它可以测试一个变量的多种取值:
当计算机遇到 switch 语句,它会检查给出的值,然后寻找匹配的 case 。找到后,它会运行 case 之后的所有代码直到遇到 break 语句。计算机会一直运行下去直到有人吩咐它退出 switch 语句。漏掉 break 会让代码出错。大部分 C 程序在每个 case 段的末尾都有一条 break 语句,这样做虽然会有失效率,但可以提高代码的可读性。
磨笔上阵
让我们再看一下 cards 程序中的那段代码:
磨笔上阵解答
请用 switch 语句重写代码。
要点
switch 语句可以取代一连串的 if 语句。
switch 语句检查一个单独的值。
计算机会在第一个匹配的 case 语句处开始执行代码。
在遇到 break 或到达 switch 语句的末尾前,代码会一直运行。
核对是否把 break 放对了地方,否则 switch 语句就会出错。
这里没有蠢问题问:为什么我要用 switch 语句取代 if ?答:当需要多次检查同一变量时,使用 switch 语句会更方便。问:使用 switch 语句有什么好处?答:有这几个好处。第一,让代码更清晰,一段代码处理一个变量的结构,结构一目了然,相反,一连串的 if 语句就没那么清晰了;第二,可以用下落逻辑在不同的分支之间复用代码。问:switch 语句只能检查变量吗?它能检查值吗?答:能,switch 语句仅仅检查两个值是否相等。问:我能在 switch 语句中检查字符串吗?答:不能用 switch 语句检查字符串或任何形式的数组,switch 语句只能检查值。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论