In this line
if (river[i].continent == u)
you are comparing two
char* pointers (wich will never have
the same value for sure).
You probably want to do
if (strncmp(river[i].continent,u,sizeof(u)) == 0)
to check if the character arrays pointed have the same content.