Estoy cansado de mi universidad, mis exámenes parciales y estoy cansado de pensar qué diablos está mal aquí.
double n; n = 3.5; // line 2 switch( n){ case 2.5 : printf(“High”); break; case 0.5 : printf(”Low”); break;}En general, pensé que faltaba la declaración predeterminada porque n es 3.5 y cada declaración de cambio que escribimos incluía una declaración predeterminada.
Las opciones son:
I) Falta la declaración predeterminada (lo que marqué).
II) hay un error en la línea 2
III) falta el punto y coma al final de la instrucción switch
IV) el tipo de datos doble no se puede usar con la declaración de cambio (respuesta correcta).
¿Alguien puede explicarme por qué IV es la respuesta correcta? Gracias.
El default de la etiqueta se puede omitir en la declaración de switch . Sin embargo, las etiquetas de los case serán de tipo entero.
Entonces, la declaración de switch es incorrecta al menos debido a etiquetas de case incorrectas.
Además, la expresión en la declaración de switch debe tener un número entero o un tipo de enumeración.
cambie el trabajo en valores integrales (int, enum).
Si desea "cambiar" los valores dobles, deberá usar declaraciones if/else.