精美网站python做问卷调查的网站
news/
2025/9/24 1:11:41/
文章来源:
精美网站,python做问卷调查的网站,一台云服务器多少钱,杭州学网站建设点击上方“我要学编程”#xff0c;选择“置顶/星标公众号”福利干货#xff0c;第一时间送达#xff01;来自 | C语言Plus请用5秒钟的时间查看下面的代码是否存在bug。OK#xff0c;熟练的程序猿应该已经发现Bug所在了#xff0c;在第13行下面我没有添加关键字break; 这就… 点击上方“我要学编程”选择“置顶/星标公众号”福利干货第一时间送达来自 | C语言Plus请用5秒钟的时间查看下面的代码是否存在bug。OK熟练的程序猿应该已经发现Bug所在了在第13行下面我没有添加关键字break; 这就导致这段代码的行为逻辑与我的设计初衷不符了。缺点一. 语法正确逻辑错误这就是第一个理由为什么程序猿很少使用switch来做条件判断对于新手来说忘记写break实在是再普通不过了就算是老猿忘记写也是时有发生的事情而这个语法错误在诸多的语法检查器上没有办法检查出来的因为从语法角度来说是正确的可是代码的处理逻辑却是错误的用if来重写这段代码的话就不会发生这种错误。用if只要关心条件就可以了一般不会在语法上出现问题(注意判断全等用哦)一旦出现bug那么肯定是我逻辑上的问题了。缺点二 .死板的语法switch尽管对于break很宽容但是对判断条件很严苛case后面只能用整型常量作为判断条件。对于我们这么潇洒自如的程序猿来说这种限制实在是太麻烦了用if的话别说是常量了我用函数都可以真正做到方便快捷。缺点三 .需要子函数来处理分支这个缺点跟缺点一有关为了防止漏写break因此建议把分支处理方法独立成一个子函数来处理这样在阅读代码的时候就会减少忘记写break带来的bug那么用if来写的话我想怎么写就怎么写非常随意自由但是这也导致了代码的可读性大大降低。switch的优点既然switch有这么严重的缺点那怎么在所有语言中依然会存在呢那就说下switch的优点吧它的优点也刚好是它的缺点。在很久很久以前那时候的电脑性能还不如一台小霸学习机的时候聪明的计算机科学家为了提高计算机的处理速度将一些逻辑分支处理方法简化了一下把一些需要做逻辑判断的操作给固定死然后只要查表一样一个一个对一下就能做出相应的反应了。比如说a0的判断switch和if在cpu上面的处理方式是不一样的switch是在编译阶段将子函数的地址和判断条件绑定了只要直接将a的直接映射到子函数地址去执行就可以了但是if处理起来就不一样了。它首先要把a的值放到CPU的寄存器中然后要把比较的值放到CPU的另一个寄存器中然后做减法然后根据计算结果跳转到子函数去执行这样一来就要多出3步的操作了如果逻辑判断多的话那么将会比switch多处许多倍的操作尽管寄存器操作的速度很快但是对于当时的学习机来说这点速度根本不够用啊。那还有一个问题为什么要使用break来做一个判断结束呢这不是很容易造成语法错误了那就要说到子函数的问题上了。在早起的电脑代码中是没有子函数的概念的那时候都是用goto随意跳转的你想去第10行代码很简单goto 10就可以了。这种编程思维在C的早期阶段还是一直受到影响的因此早期的C也没有子函数都是一堆逻辑处理混乱在一起goto满天飞所以那时候你没有一个最强大脑是写不了程序的。那为了告诉程序我这里条件判断处理结束就添加了break作为终止符号。后来慢慢的有了子程序有了更好的编程规范才一步一步的将写代码沦落到体力劳动。后来发展的新语言为了标榜自己的血统多少都要参考下C然后就把switch这种诡异的语法也继承下来了。但是也不是所有的语言都照搬比如Google发明的新语言golang和kotlin就又把switch包装了一下去掉了令人误会的语法又让switch变得灵活起来了对了在代码重构的时候还是用switch把这样看起来的确代码更简洁哦END若觉得文章对你有帮助随手转发分享也是我们继续更新的动力。送100G资源涵盖C/C、Python、Linux、JAVA、数据结构、算法等入门基础资料。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914447.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!