O que '#' exatamente faz em C? [duplicado
Esta pergunta já tem uma resposta aqui:
Stringification - como funciona? 2 respostasPor que não estou obtendo a saída esperada no programa c a seguir? [duplicado 3 respostasTenho um programa.
#include <stdio.h>
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
int main()
{
printf("%s\n",h(f(1,2)));
printf("%s\n",g(f(1,2)));
return 0;
}
Este programa está funcionando corretamente e fornecendo resultados como:
12
f(1, 2)
Eu não entendo como o compilador está dando essa saíd
Qual é a função de # ema##b
e#a
?