In my attempt to gain a better knowledge of procedural programing, both for practical and academic use I am trying to clarify the effect CONTINUE and BREAK statements have on state.
I have come to understand that GOTO is essentially forbidden as I go with the if you're a good programmer you can find a better way approach. However I also understand at a deeper level that it is to be avoided in procedural programming because it lacks the ability to change state.
This is were I get confused, how is it that CONTINUE, and BREAK can change state?
My initial thought was that because a GOTO is as such:
GOTO A;
LBL A;
No expressions are evaluated and no state is changed. And combined with the form of a CONTINUE:
while (evalFunction(*value) == 1) {
..
if ( bail == 1 ) continue;
..
}
Has the ability to change state in the while condition.
However this does not account for BREAK.
Can someone provide some more detail regarding the specifics in procedural programming?