Paul did a good example for "single entry single exit" style. The advantage, is that it is neater and also easier to locate the exit point (especially for debugging). Although this style is quite commonly used in C, I don't always follows the rule. This is because there are situations that certain conditions match and I need to return immediately.

Code:
bool foo()
{
    bool result = false;
    if(conditon1)    // Return immediately.
       return result;

    while(condition2)
    {
        // Do something.
        if(condition3)
        {
             // Do other thing.
             result = true;
             break;
        }
    }

    return result;
}