我有以下代码:
#include<stdio.h>
int main()
{
int a=10;
switch(a)
{
case '1':
printf("ONE\n");
break;
case '2':
printf("TWO\n");
break;
defalut:
printf("NONE\n");
}
return 0;
}
该程序不打印任何内容,甚至不打印
NONE
。我发现default
有一个错字defalut
!我想知道为什么编译器未检测到此语法错误。
最佳答案
defalut
只是程序中的标签,您可以使用goto
跳转到该标签。拥有突出显示关键字的编辑器可能会使此错误更容易发现。
我还要注意,您的程序可能存在一些逻辑错误。字符'1'
与1
不同,并且与'2'
和2
相同。