Tak działa wersja taka jak w książce
* Wchodzimy do outer loop (ta z i), i == 0
* Wchodzimy do inner loop (ta z j), i == 0, j == 0
* Wchodzimy do ifa, który zwraca false, bo 0 < 0 == false
* Wchodzimy do printa, który drukuje 0, bo 0 * 0 = 0
* Wchodzimy do inner loop (ta z j), i == 0, j == 1
* Wchodzimy do ifa, która zwraca true, bo 1 > 0
* Wchodzimy do wnętrza ifa, który drukuje pustą linię
* Wchodzimy do instrukcji continue, która przenosi nad do outer loop (ta z i) <--- Tu się dzieją rzeczy
* Wchodzimy do outer loop (ta z i), i == 1
* Wchodzimy do inner loop (ta z j), i == 1, j == 0
* Wchodzimy do ifa, który zwraca false, bo 0 < 1 == false
* Wchodzimy do printa, który drukuje 0, bo 1 * 0 = 0
* Wchodzimy do inner loop (ta z j), i == 1, j == 1
* Wchodzimy do ifa, który zwraca false, bo 1 < 1 == false
* Wchodzimy do printa, który drukuje 1, bo 1 * 1 = 1
* Wchodzimy do inner loop (ta z j), i == 1, j == 2
* Wchodzimy do ifa, która zwraca true, bo 2 > 0
* Wchodzimy do wnętrza ifa, który drukuje pustą linię
* Wchodzimy do instrukcji continue, która przenosi nad do outer loop (ta z i)
* Wchodzimy do outer loop (ta z i), i == 2
* Wchodzimy do inner loop (ta z j), i == 2, j == 0
* I tak dalej...
Dla porównania, tak działałaby wersja gdyby zamiast continue outer;
napisać samo continue;
* Wchodzimy do outer loop (ta z i), i == 0
* Wchodzimy do inner loop (ta z j), i == 0, j == 0
* Wchodzimy do ifa, który zwraca false, bo 0 < 0 == false
* Wchodzimy do printa, który drukuje 0, bo 0 * 0 = 0
* Wchodzimy do inner loop (ta z j), i == 0, j == 1
* Wchodzimy do ifa, która zwraca true, bo 1 > 0
* Wchodzimy do wnętrza ifa, który drukuje pustą linię
* Wchodzimy do instrukcji continue, która przenosi nad do inner loop (ta z j)
* Wchodzimy do inner loop (ta z j), i == 0, j == 2
* Wchodzimy do ifa, która zwraca true, bo 2 > 0
* Wchodzimy do wnętrza ifa, który drukuje pustą linię
* Wchodzimy do instrukcji continue, która przenosi nad do inner loop (ta z j)
* Wchodzimy do inner loop (ta z j), i == 0, j == 3
* Wchodzimy do ifa, która zwraca true, bo 3 > 0
* Wchodzimy do wnętrza ifa, który drukuje pustą linię
* Wchodzimy do instrukcji continue, która przenosi nad do inner loop (ta z j)
* Wchodzimy do inner loop (ta z j), i == 0, j == 4
* I tak dalej...
Tak jak pisali wyżej. Etykiety to element składni i warto wiedzieć, że coś takiego istnieje, ale nie jest najszczęśliwszy mechanizm i nie zaleca się jego stosowania. Istnieje mała szansa, że kiedyś go zobaczysz w komercyjnym kodzie (o ile nie trafisz do szamba)