#include <stdio.h>
#define PRINT(name) print ## name()
void printHE()
{
printf("Hello");
}
void printWO()
{
printf("World\n");
}
enum {
HE,
WO,
};
int main()
{
PRINT(HE);
PRINT(WO);
}
It works perfectly, but why?
What does ##
in #define
mean?
And why HE
didn't convert to 0
?