¿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?
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.