Open In App

Using Range in switch Case in C

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

You all are familiar with switch case in C, but did you know you can use a range of numbers instead of a single number or character in the case statement? Range in switch case can be useful when we want to run the same set of statements for a range of numbers so that we do not have to write cases separately for each value.

  • That is the case range extension of the GNU C compiler and not standard C.
  • You can specify a range of consecutive values in a single case label.

Syntax

The syntax for using range case is:

case low ... high:

It can be used for a range of ASCII character codes like this:

case 'A' ... 'Z':

You need to Write spaces around the ellipses ( … ). For example, write this:

// Correct  -   case 1 ... 5: 
// Wrong -    case 1...5: 

The below program illustrates the use of range in switch case.

C




// C program to illustrate
// using range in switch case
#include <stdio.h>
int main()
{
    int arr[] = { 1, 5, 15, 20 };
 
    for (int i = 0; i < 4; i++) {
        switch (arr[i]) {
            // range 1 to 6
        case 1 ... 6:
            printf("%d in range 1 to 6\n", arr[i]);
            break;
            // range 19 to 20
        case 19 ... 20:
            printf("%d in range 19 to 20\n", arr[i]);
            break;
        default:
            printf("%d not in range\n", arr[i]);
            break;
        }
    }
    return 0;
}


Output

1 in range 1 to 6
5 in range 1 to 6
15 not in range
20 in range 19 to 20

Complexity Analysis

  • Time Complexity: O(n), where n is the size of array arr.
  • Auxiliary Space: O(1)

Error conditions

  1. low > high: The compiler gives an error message.
  2. Overlapping case values: If the value of a case label is within a case range that has already been used in the switch statement, the compiler gives an error message.

Exercise

  • You can try the above program for a char array by modifying the char array and case statement.


Last Updated : 26 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads