Tengo un programa C a continuación:¿Qué significa ## para el preprocesador C (C++)?
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
cuando corro sólo el preprocesador se expande esto como
{
int var12=100;
printf("%d",var12);
}
que es la razón por la que la salida es 100.
Puede Alguien dime cómo/por qué el preprocesador se expande var##12 to var12
?
Porque eso es lo que '##' significa en el preprocesador C. Es como decir "¿por qué' i ++ 'incrementa 'i'?". ¡Porque el estándar C lo dice! –
-1 claramente tarea. – richo
@Richo ... no es un trabajo a domicilio. Como no estoy muy familiarizado con el preprocesador, tenía esta pregunta en mente. Podría ser fácil para ti y podría parecer una tarea. Pero para los que sí la necesitan. No sé que esto no es tan fácil de entender. – Vijay