Caso predeterminado en una condición de interruptor

Tengo este codigo

#include 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; } 

El progtwig no imprime nada, ni siquiera NONE . Me di cuenta de que el default tenía un error de error defalut !
Quiero saber por qué el comstackdor no detecta este error de syntax.

defalut es solo una etiqueta en tu progtwig a la que puedes saltar con goto . Tener un editor que resalta las palabras clave podría haber hecho que este error sea más fácil de detectar.

También debo tener en cuenta que su progtwig puede tener algunos errores lógicos. El carácter '1' no es lo mismo que 1 , y lo mismo con '2' y 2 .

Eso no es un error de syntax. defalut es una etiqueta válida, y podría ser el objective de un goto .

consejo: si está utilizando gcc , agregue la opción -pedantic . le avisará para las tags no utilizadas:

 $ gcc -ansi -Wall -pedantic test.c -o test test.c: In function 'main': test.c:14:10: warning: label 'defalut' defined but not used