Q:

Error: case label not within a switch statement in C

belongs to collection: C Common Errors Programs

0

Error: case label not within a switch statement in C

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Example:

#include <stdio.h>

int main(void) {
	
	int choice = 2;
	
	switch(choice);
	{
	    case 1:
	        printf("Case 1\n");
	        break;
	    case 2:
	        printf("Case 2\n");
	        break;	    
	    case 3:
	        printf("Case 3\n");
	        break;	    
	    case 4:
	        printf("Case 4\n");
	        break;	    
	    default:
	        printf("Case default\n");
	}
	
	return 0;
}

Output

prog.c: In function ‘main’:
prog.c:9:6: error: case label not within a switch statement
      case 1:
      ^~~~
prog.c:11:10: error: break statement not within loop or switch
          break;
          ^~~~~
prog.c:12:6: error: case label not within a switch statement
      case 2:
      ^~~~
prog.c:14:10: error: break statement not within loop or switch
          break;
          ^~~~~
prog.c:15:6: error: case label not within a switch statement
      case 3:
      ^~~~
prog.c:17:10: error: break statement not within loop or switch
          break;
          ^~~~~
prog.c:18:6: error: case label not within a switch statement
      case 4:
      ^~~~
prog.c:20:10: error: break statement not within loop or switch
          break;
          ^~~~~
prog.c:21:6: error: ‘default’ label not within a switch statement
      default:
      ^~~~~~~

How to fix?

See the statement switch(choice); it is terminated by semicolon (;) – it must not be terminated. To fix this error, remove semicolon after this statement.

Correct code:

#include <stdio.h>

int main(void) {
	
	int choice = 2;
	
	switch(choice)
	{
	    case 1:
	        printf("Case 1\n");
	        break;
	    case 2:
	        printf("Case 2\n");
	        break;	    
	    case 3:
	        printf("Case 3\n");
	        break;	    
	    case 4:
	        printf("Case 4\n");
	        break;	    
	    default:
	        printf("Case default\n");
	}
	
	return 0;
}

Output

Case 2

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Error: Expected \'}\' before \'else... >>
<< Error: switch quantity not an integer in C...