I was told that when returning a value from a function, you can only return one. So why does this code work? And can you explain what happens in the functions? thanks

Their is a structure called Distance that includes distances in feet and inches. the user enters 2 distances (feet,inches) and stores them in 2 type Distance variables. then this function is involked to return the larger of the 2 Distances;

Code:Distance bigengl(Distance dd1, Distance dd2) { if(dd1.feet > dd2.feet) //if feet are different, return return dd1; // the one with the largest feet if(dd1.feet > dd2.feet) return dd2; if(dd1.inches > dd2.inches) //if inches are different, return dd1; //return one with largest else //inches, or dd2 if equal return dd2; }