When is a "switch" statement better than multiple "if" statements?

Asked by Last Modified  

Follow 1
Answer

Please enter your answer

Tutor

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 ==...
read more
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”) read less
Comments

Professional Trainer

In case of we have to check one variable and compare it's value with list of values of same then and then we can use switch case. for example create simple calculator using c programming. we requires one variable for operation like addition, subtraction, multiplication and division. we can tell the...
read more
In case of we have to check one variable and compare it's value with list of values of same then and then we can use switch case. for example create simple calculator using c programming. we requires one variable for operation like addition, subtraction, multiplication and division. we can tell the user to input the value 1 for +, 2 for - , 3 for * and 4 for /. and then we can compare that variable's value to the list of for cases, case 1, case 2, case 3 , case 4 and finally default case if none of other case is matched. We create this program using if...else if statement or switch case. If program like which day is today. then also we can use switch case. 1 for Monday ....7 for Sunday enter your choise compare by using switch(var) to different cases from case 1 to 7 and default. Break statement is always needed while using switch case. if there is no break statement in cases then all cases will be executed. read less
Comments

Training Centre

If you want to test a variable against the single number (i.e. n==1,n==2, n==3 , etc.) rather than a range of numbers (i.e. (n>=1 && n<=10)), then switch statement is a better option.
Comments

Thank You for your question... Switch statement is better than multiple if statements when we are having multiple options for the same variable. Thanks, Team DishaaPro www.dishaapro.com
Comments

Programming Trainer

Most of the time switch is better than if statement in c program as it enhances the time complexity of the program.
Comments

Technology expert

In swich-case ,if the conditions are same we can write one print statement.where as in multiple if though the conditions are same ,we have to write different print for each conditions.
Comments

Unique Coder

A switch statement is generally best to use when you have more than two conditional expressions based on a single variable of numeric type.
Comments

Teacher

If there are so many options to choose.
Comments

Tutor

Both Switch and if performs almost the same function, where both comes under control statements. switch is better if the number of cases is more and distinct.
Comments

J2ee Trainer

Switch statement is most useful when we have multiple conditions on a same variable.But when there are multiple conditions then if else is a better option.
Comments

View 13 more Answers

Related Questions

Can the last case of a switch statement skip including the break?
Last case if a switch should be DEFAULT.. Good to have this case always. Executed only when there's no other matching cases found.
Sanjeev
Can you assign a different address to an array tag?
Nope, because Array Tag/Name is an alias or name to the first location of the array. It doesn't have any memory of its own (pointers do have their own memory).
Sivaganesh
0 0
6
What is the concatenation operator?
The concatenation operator (##) is used to concatenate (combine) two separate strings into one single string. The concatenation operator is often used in C macros.
R.s.praveen
How do you override a defined macro?
We can use the #ifdef and #undef directive to undefine a previously defined macro.
Sharmistha

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

C Program-String Comparison
// WAP to compare strings entered by the user //Header files #include<stdio.h>#include<conio.h>#include<string.h> //Main function void main(){ char str1; char str2; int comp; //Function...

Programing Languages Learning Tricks
You want to learn that new language or library or framework as soon as possible, right? That’s understandable. Fortunately, there are a handful of tips that can help you to better retain all of that...
H

Harshal G.

0 0
0

Compiler vs Interpreter
Compiler Interpreter Convert all the code into binary format and execute. Convert one statement at a time and execute, then Convert next statement and execute. After conversion, source...

Can we store different data types in a stack?
Yesterday, one of my Facebook friend asked me this question. My answer is "yes", and in this post I will discuss how could we do this.I am a great supporter of working with unions and I will be using union...

C++ Program-Working with constant using #define preprocessor
//Header Files #include#include // using #define preprocessor for defining a constant#define len 10#define br 5#define rad 3#define NEWLINE '\n' //Main function void main(){ int area_r; float area_c; //Function...

Recommended Articles

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Microsoft Excel is an electronic spreadsheet tool which is commonly used for financial and statistical data processing. It has been developed by Microsoft and forms a major component of the widely used Microsoft Office. From individual users to the top IT companies, Excel is used worldwide. Excel is one of the most important...

Read full article >

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you