Mam program w C poniżej:Co oznacza ## dla preprocesora C (C++)?
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
gdy uruchamiam tylko preprocesor Rozszerza to jako
{
int var12=100;
printf("%d",var12);
}
co jest powodem, dla którego wyjście jest 100.
Can ktoś mi powiedzieć, jak/dlaczego preprocesor rozszerza var##12 to var12
?
Bo to właśnie oznacza "##" w preprocesorze C. To tak, jakby powiedzieć "dlaczego' i ++ 'inkrementuje' i'? ". Ponieważ standard C tak mówi! –
-1 wyraźnie zadanie domowe. – richo
@Richo .... nie jest to praca domowa. Nie znam się dobrze na preprocesorze. Miałem to pytanie w głowie. To może być dla ciebie łatwe i może wyglądać jak praca domowa. Ale dla tych, którzy robią ". Wiem, że nie jest to łatwe do zrozumienia. – Vijay