
Adrian Campos
Pregunta¿Se podría imprimir de alguna el nombre de la variable en un enum?
Es decir: ¿En el siguiente código podría acceder a los nombres de las cartas? (club, diamonds, hearts, spades)
enum deck { club = 0, diamonds = 5, hearts = 10, spades = 15, } card;

Alejandro Urrea Giraldo
El tipo de datos enum sirve para asignar nombres (valores constantes con algún sentido para el programador) a valores numéricos. Sin embargo, más allá de las ventajas que esto genera, los datos que se reciben en una comparación con un tipo de dato enum seguirán siendo numéricos
Existen otras estructuras de datos, como los array, que servirían para que dado un valor numérico (el índice o posición que ocupa dentro de la estructura), devuelva el nombre almacenado en dicha posición. Sin embargo, los valores asignados a cada posición no pueden ser arbitrarios (como pasaba en enum), y necesariamente tendrían que tener un valor entre el cero (0) y la cantidad de elementos -1 (porque se empieza contando desde cero)
Le dejo un ejemplo para que vea la diferencia:
Si lo que se busca es que a un nombre específico se le pueda asignar un valor arbitrario, y que se pueda acceder tanto al valor como al nombre, existe una estructura de datos llamada diccionario. Aunque no existe de forma nativa en C, es posible crearla mediante estructuras definidas por el usuario (UDDT o User Defined Data Type) El tema es un poco más complejo, pero a medida que avance en sus estudios podrá comprenderlo mejor.
En otros lenguajes como python, si existen por defecto los diccionarios. Si conoce el lenguaje, le dejo información al respecto
https://docs.python.org/3/library/stdtypes.html#mapping-types-dict
Espero haberle ayudado.

Wandy Rafael Santana Evangelista
Por supuesto que si puedes, mira este ejemplo usando tu logica:
La respuesta es 5 en este caso. Puedes entrar aca y leer un poco al respecto: Click Aqui