I'm studying two functions that invest strings the problem is that I find it hard understand how they work I see strange things in the code as, this part
return b = c & '\n';
another thing is the way you use the ternary operator
b + e ?: f(0);
the first expression is omitted I leave the two functions
int b, e;
void f(c)
{
e = 13 & c;
if(isspace(c)) return;
b++, f(getchar());
b--, putchar(c);
b + e ?: f(0);
}
int f(c)
{
static int b;
if(isspace(c))
return b = c & '\n';
f(getchar());
printf("(%c)\n", b);
return putchar(c) == b && f(c);
}
someone explain to me how this goes?