Can anyone look at the code below and answer the question given in the code...
Code:
int compare (const void *p1, const void *p2)
{
const char *i;
const char *j;
i = *((char **)p1); /* WHAT THE HECK IS THIS*/
j = *((char **)p2);/*Why is the '*' operator 3 times in a line */
if (strlen(i) > strlen(j))
return 1;
else if (strlen(i) < strlen(j))
return -1;
else
return strcmp(i,j);
}