switch里default写成了defau1t(字母l写成了数字一)不报错?!
//来源于coolshell,http://coolshell.cn/articles/830.html
#include<stdio.h>
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defau1t:
printf("NONE\n");
}
return 0;
}
//我想知道为什么default写成了defau1t(字母l写成了数字一),还不报错?!原理机制是什么?
[解决办法]
编译器以为是标号呢。
标号也是标识符的一种,defau1t:完全符合标识符的命名规则,后面又加了冒号。编译器就把他当标号了。