The ## is a preprocessor operator, and works on your source before compilation. This means that it uses the literal value not the value assigned during program run.
You must use string functions instead:
char *glue(int i, intj)
{
static char str[128];
sprintf(str, "%d%d", i, j);
return str;
}