es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible redefinir el “.” utilizando macros en C?

Tengo una tarea escolar (posiblemente defectuosa) relacionada con el preprocesador de C, en la cual básicamente debo definir una macro que permita:

Hoy es el 9.

compilar como

int a = 9;

Nota el “.” después del 9. El resto del programa es similar, no tengo problema con eso.

Ahora reemplacé “Hoy” por int (#define Hoy int), “es” por a, “el” por = pero no sé qué hacer con el “.”, dado que si simplemente lo reemplazo haciendo:

#define . ;

obtengo un error de tiempo de compilación.
¿Es posible hacer algo con el punto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, el punto (.) no puede ser utilizado como parte de un nombre de macro en el preprocesador C. Está reservado como un carácter especial para acceder a miembros de estructuras o uniones. En este caso, necesitarás utilizar un símbolo diferente para el punto o reconsiderar tu enfoque para lograr el resultado deseado.

Comments are closed.