Ja produziert, diese gültig ist, weil in diesem Fall die ,
ein comma operator ist.
Zitiert C11
, Kapitel §6.5.17, Kommaoperator, (emphasis Mine)
Der linke Operand eines Komma-Operator wird als ungültig Ausdruck ausgewertet; Es gibt einen Sequenzpunkt zwischen seiner Auswertung und dem des rechten Operanden. Dann wird der rechte Operand ausgewertet; Das Ergebnis hat seinen Typ und Wert.
Diese (auswertet und) verwirft den linken Operanden und verwendet den Wert der rechten Seite (Seite ) ein. So ist die obige Aussage im Grunde die gleiche wie
switch(2)
einfach zu erarbeiten, es nicht Verwendung zwei Werte, wie man so etwas erwarten kann, das Einschalten entweder 1 oder 2.
Es gibt eine Möglichkeit, die Case-Anweisung zwei Fälle zu machen, wenn Sie das fragen - nur nicht mit einem Komma. –
@ Jerry-Jeremiah was ist so, können Sie bitte erarbeiten? –