Definition
for_stm : for ( exp_opt ; exp_opt ; exp_opt ) outer_stm
Purpose
A for_stm represents a complex loop. The first exp_opt is executed once before the first execution of the loop. The second is the test to continue the loop, and is tested at the beginning of each loop iteration. The last is executed at the end of each iteration prior to the test.
Semantics
The second exp must be of a boolean-compatible type.