by Dinesh Thakur Category: Control Structures

switch statement is generally best to use when you have more than two conditional expressions based on

a single variable of numeric type. For instance, rather than the code

 

if (x == 1)

printf(“x is equal to one.\n”);

else if (x == 2)

printf(“x is equal to two.\n”);

else if (x == 3)

printf(“x is equal to three.\n”);

else

printf(“x is not equal to one, two, or three.\n”);

the following code is easier to read and maintain:

switch (x)

{

case 1: printf(“x is equal to one.\n”);

break;

case 2: printf(“x is equal to two.\n”);

break;

case 3: printf(“x is equal to three.\n”);

break;

default: printf(“x is not equal to one, two, or three.\n”);

break;

}

 

Notice that for this method to work, the conditional expression must be based on a variable of numeric type in order to use the switch statement. Also, the conditional expression must be based on a single variable. For instance, even though the following if statement contains more than two conditions, it is not a candidate for using a switch statement because it is based on string comparisons and not numeric comparisons:

 

char* name = “Lupto”;

if (!stricmp(name, “Isaac”))

printf(“Your name means ‘Laughter’.\n”);

else if (!stricmp(name, “Amy”))

printf(“Your name means ‘Beloved’.\n “);

else if (!stricmp(name, “Lloyd”))

printf(“Your name means ‘Mysterious’.\n “);

else

printf(“I haven’t a clue as to what your name means.\n”)

 



About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.



Search Content





Popular Article