# C language

shauns87
What is the difference between switch statement and if statement?

Mentor
Let's start from the very beginning. What are they used for? What is the syntax in each case?

shauns87
Switch: tests the value of a given variable against a list of case values and when a match is found, a block of statements associated with that case is executed.

If Else: If the test value is true, then the true block statements following the if are executed.

Now, the point is that I feel that both are the same and can be used interchangeably.

Am i right?

Grep
Here's something you can't do with a switch statement:

Code:
if (x > 10)
{
// Do something
}
else if (x < 0)
{
// Do something else
}
else
{
// etc...
}

So not really interchangeable in quite a few cases. An if can do what a switch can (though maybe less clearly and possibly less easy for the compiler to optimize). But a switch can't do everything an if statement can.