Macros

Hola mi pregunta es:
¿Pueden ser las macros recursivas?, me explico esta sentencia,¿seria valida?:
FACT(n) (n==1) ? 1:Fact(n-1)
Gracias

1 respuesta

Respuesta
1
En C no. De hecho, el preprocesador cpp(1) expande todas las referencias a macros cuando hace la expansión de la macro que se está tratando actualmente, pero vigilando las expansiones activas, es decir, las que se están expandiendo en este momento. Si alguna de las macros que se está reverenciando en el cuerpo de la macro está activa por estar expandiéndose en este momento, el compilador no hace la sustitución y deja la macro como estaba.
Lo cierto es que el preprocesador de macros cpp(1) no permite muchas cosas que podrían ser interesantes en programación. Si te interesan los procesadores de macros que permitan escribir macros recursivas, echa un ojo a programas como m4(1) que dan muchas más posibilidades.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas