On huomattava, että jos halutaan suorittaa jokin switch- lauseen osista kahdella eri arvolla, EI voida käyttää rakennetta:
switch (operaatio) { /* VÄÄRIN: */ case 4 || 5: x *= 2; break; /* 5 tai 4 laskee x=2*x */ :-( case 3: x += 2; /* 3 laskee x=x+4 */ case 2: x++; /* 2 laskee x=x+2 */ default: x=0; break; /* Muut nollaavat x:än */ }
Kääntäjä ei tästä varoita, koska kaikki on aivan kieliopin mukaista. 4 || 5 on kahden loogisen lausekkeen OR eli 1 || 1 eli 1. Siis
case 4 || 5: on sama kuin case 1:
Jos esimerkistämme ei olisi poistettu lausetta case 1: , olisi kääntäjä varoittanut koska 1 olisi esiintynyt kahdesti.