Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Default case in a switch condition

Tags:

c

I have this code:

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

The program doesn't print anything, not even NONE. I figured out that default had a typo defalut!
I want to know why this syntax error is not detected by the compiler.

like image 829
insane Avatar asked Jul 03 '12 16:07

insane


Video Answer


1 Answers

defalut is just a label in your program that you can jump to with goto. Having an editor that highlights keywords could have made this error easier to spot.

I should also note that your program may have some logic errors. The character '1' is not the same as 1, and the same with '2' and 2.

like image 72
Tim Cooper Avatar answered Oct 01 '22 23:10

Tim Cooper