example - mpi_recv
¿Qué significa esta sintaxis de la caja del interruptor en C? (2)
Es una extensión GNU C llamada rango de casos .
http://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html
Como se señala en el documento, debe poner espacios entre el valor bajo y alto del rango.
case 1 ... 9:
statement;
es equivalente a:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
statement;
Vi un código c como este: int check = 10:
switch(check) {
case 1...9: printf("It is 2 to 9");break;
case 10: printf("It is 10");break;
}
¿Qué significa este case 1...9:
:? está standarded?
Esta es la gcc extension
, la manera más fácil de resolver esto con gcc
al menos es usar -pedantic
argumento- -pedantic
:
gcc -pedantic
advertirá:
warning: range expressions in switch statements are non-standard [-pedantic]
y si desea verificar con un estándar específico, por ejemplo c99
, haga lo siguiente:
gcc -std=c99 -pedantic
Además, esto no es correcto:
case 1...9:
necesitas espacios entre los puntos y los números:
case 1 ... 9:
como se indica en el documento :
Tenga cuidado: escriba espacios alrededor de ..., ya que de lo contrario se puede analizar incorrectamente cuando lo usa con valores enteros.