为什么这段代码编译运行正常.我在l的地方写了defau1t而不是默认值1.
#include<stdio.h>
int main()
{
int i=4;
switch(i)
{
case 3:
break;
defau1t :
break;
}
}
Run Code Online (Sandbox Code Playgroud)
它是标签的有效名称,您可以将其用作goto呼叫的占位符.(switch通过goto调用进入一个块是允许的C和C++,即使它是不明智的).
当涉及到它们可以包含的字符时,标签名称与变量名称的规则大致相同.defau1t满足那些规则.
在你的情况下,它是良性的,将在运行时编译出来,虽然一个好的编译器会警告你它没有被使用.