c - switch case isn't true than also its executing case which is inside the failed one -


#include<stdio.h>  int main() {      switch(2)     {             case 1:                     if(1)                     {                             case 2:                                     printf("hello\n");                     };     }     return 0; } 

output = hello i'm passing 2 in switch case 1 not true enters , executes code inside case 2. how come enters case 1? thanks.

after switch(2), jump case 2 label. fact within if block contained within case 1 irrelevant. case 2: functions no differently goto label, jump wherever is. not true case 1 somehow being entered.

to clarify, indented looks thus:

#include<stdio.h> int main() {   switch(2) {   case 1:     if(1) {   case 2:       printf("hello\n");     }     ;   }   return 0; } 

Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -