If the maximum is `a`

, where in the code is this known?

The first statement after the first IF .

It seems a little silly that the maximum `a`

is not returned until the last line of the function when
it is known so early.
In this situation, most C programmers would return `a`

as soon as it is known to be the maximum.
The flowchart at right shows this.

Here is the code that corresponds to this flowchart:

/* pre-condition: a, b, and c are integers. exit condition: return the maximum of a, b, and c */ int maxThree(int a, int b, int c) { if (a >= b && a >= c) return a; if (b >= c) return b; return c; }

It is likely that you find both the new flowchart and the new function straightforward and easier to understand than the previous versions.

Is the new flowchart (and the new function) structured?