本文主要是介绍关于default的位置问题:default放在前面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在linux内核的文件系统中,有这样的一段代码:
473 if (this.name[0] == '.') switch (this.len) {474 default:475 break;476 case 2:477 if (this.name[1] != '.')478 break;479 follow_dotdot(nd);480 inode = nd->dentry->d_inode;481 /* fallthrough */482 case 1:483 continue;484 }
default的位置放在了前面,这样会导致默认先进入default分支从而影响到程序的逻辑吗?
答案:在程序中default的位置可以任意,因为编译到exe后,程序执行时先判断所有case,然后再判断是否跳到default的地址(即指针),然后往后执行,遇到break之类的就直接跳到后面去了。(而各case和default的内嵌语句又是顺序的)
本文来源:谁不小心的csdn博客:关于default的位置问题:default放在前面
这篇关于关于default的位置问题:default放在前面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!