Sì, questo è valida, perché in questo caso, il ,
è un comma operator.
Citando C11
, capitolo §6.5.17, virgola operatore, (sottolineatura mia)
L'operando sinistro dell'operatore virgola viene valutata come espressione vuoto; c'è un punto di sequenza tra la sua valutazione e quella dell'operando di destra. Quindi viene valutato l'operando di destra ; il risultato ha il suo tipo e valore.
Questa (valuta e) scarta l'operando di sinistra e utilizza il valore del diritto (lato) uno. Quindi, la dichiarazione di cui sopra è fondamentalmente lo stesso come
switch(2)
Proprio per elaborare, è non si uso due valori, come avrete aspettato qualcosa di simile, accendendo 1 o 2.
fonte
2016-06-13 07:37:55
C'è un modo per rendere la dichiarazione del caso in due casi se questo è quello che stai chiedendo - semplicemente non con una virgola. –
@ jerry-jeremiah che cosa è, per favore, puoi elaborare? –