nj-*_*ath 36 c c++ default switch-statement
我在其他网站上想出了这个程序并想到了它,这是程序:
#include <stdio.h>
int main()
{
int a=10;
switch(a)
{
case '1': printf("one");
break;
case '2': printf("two");
break;
defau4t: printf("none");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,这个编译没有错误或警告.这怎么可能?关键字"默认"是否有错误?
有谁能解释这种行为?
Dev*_*lar 43
该令牌根本不被视为关键字.这是一个goto名为"defau4t"在死的,否则指向代码(后跳标记break;的case '2':)...
尝试这个笑(和无限循环):
switch(a)
{
case '1': printf("one");
break;
case '2': printf("two");
break;
defau4t: printf("none");
default: goto defau4t;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2658 次 |
| 最近记录: |