c – 为什么case语句只接受常量?

c – 为什么case语句只接受常量?,第1张

概述C中的switch语句必须用常量写的事实背后的原因是什么? 我们来看看下面的代码: switch(variable){ case 1: case 2: case 3: case 4: //Code 1 break; case 5: case 6: case 7: case 8: // C中的switch语句必须用常量写的事实背后的原因是什么?

我们来看看下面的代码:

switch(variable){    case 1:    case 2:    case 3:    case 4:        //Code 1        break;    case 5:    case 6:    case 7:    case 8:        //Code 2        break;    default:        //Code 3        break;}

在其他语言中,例如PAWN(C-like脚本语言),我可以这样写下这段代码:

switch(variable){    case 1 .. 4:        //Code 1        break;    case 5 .. 8:        //Code 2        break;    default:        //Code 3        break;}

C switch语句背后的原因是什么?来自石器时代? (更不用说我们不能使用变量了.)

即使经过这么多年的这么多变化和更新……

解决方法 C switch语句无法更新为使用范围的技术原因. gcc已经有了这个扩展.

http://www.n4express.com/blog/?p=1225

价值保持不变是有充分理由的;允许各种优化,如跳转表.

总结

以上是内存溢出为你收集整理的c – 为什么case语句只接受常量?全部内容,希望文章能够帮你解决c – 为什么case语句只接受常量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存