Sat*_*K17 6 c switch-statement
我在google搜索时找到了以下代码.
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defa1ut:
printf("NONE\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
即使'default'被任何其他名称替换,编译器也不会给出错误.它只是执行程序并退出程序而不打印任何东西.
有人请告诉我为什么编译器没有在默认情况下给出错误?什么时候拼写不是'默认'?
这是一个普通的(goto)标签.
你可以这样做,例如:
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defa1ut:
printf("NONE\n");
}
goto defa1ut;
return 0;
}
Run Code Online (Sandbox Code Playgroud)