Perform another test

Back at the top of the outer loop, the value of the row counter is once more tested against the rowLim value of 3.

If the row counter is less than three, another iteration of the outer loop is executed, producing the next row of output values shown in Figure 1.

When the row counter value reaches 3, the outer loop terminates and the program terminates, having displayed three rows of five columns in each row as shown in Figure 1.

And that is probably more than you ever wanted to know about counting loops and nested loops.