There is a piece of code:
int p(char *a, char*b)
{
while (*a | *b)
{
if (*a ^ *b)
//...
}
}
and I don’t really know what it’s doing.
Edit: I understand what the | and ^ operators do, I just don’t know what they’ll do with char values.
It treats them as small integers. The | operator then does an OR and the ^ operator does an XOR (exclusive or), on the individual bits making up the integers. Neither operation is particularly useful for most character-based applications, but they can be used (for example) to add a parity bit to a char in comms programming.