No, il break non funziona come un GOTO (altrimenti, in questo caso, si avrebbe un bel ciclo infinito).
Il break fa terminare il ciclo denotato dall'etichetta "lab1".
Più in generale, il break trasferisce l'esecuzione all'istruzione (o blocco di istruzioni) denotato dall'etichetta e questa istruzione (o blocco di istruzioni) termina immediatamente. Quindi, è come se il controllo fosse trasferito all'istruzione immediatamente (logicamente) successiva a quella denotata dall'etichetta.
Concordo sul non scrivere codice di quel tipo, che rende tutto di più difficile manutenzione.
Ciao.![]()