Ir para conteúdo
Visualizar no app

Uma forma melhor de navegar. Saiba mais.

MM Fórum

Um app em tela cheia na sua Tela de Início com notificações push, avisos e mais.

Para instalar este app no iOS/iPadOS
  1. Toque no ícone de Compartilhamento no Safari
  2. Role o menu e toque em Adicionar à Tela de Início.
  3. Toque em Adicionar no canto superior direito.
Para instalar este app no Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Perguntinha básica sobre o break;

Featured Replies

Postado

Olá a todos

Estava eu escrevendo um programa simples quando me perguntei: como exatamente funciona o break; ?

O meu código é algo como:


for (i = 0; i < 10; i++) {
for (s = 0; s <= i; s++) {
if (s == 7) break;
}
}
[/CODE]

A pergunta é: esse break; vai parar só o for de dentro? Ou vai parar os dois for?

Agradeço a quem puder ajudar.

  • Respostas 7
  • Visualizações 1.2k
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Posts Mais Populares

  • break dentro de for é meio "deselegante" usa um while com a condição de parada igual ao if que aciona o break for (int i = 0 ; i < 10; i++){ int s = 0; while ((s < =i) &&

Postado

Esse código que você usou como exemplo nem compila !!!

Tenta esse (desculpe a falta de indentação):

int main()

{

printf("!!!Hello World!!!");

for(int i = 0; i < 10; i++)

{

for(int j = 0; j < 10; j++)

{

if (j == 7)

{

printf("Sai no segundo loop!\n");

break;

}

}

}

printf("Sai no final!\n");

return 0;

}

Resultado na console (o break sai do segundo for) :

!!!Hello World!!!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no final!

Editado por Willy

Postado
  • Autor

Esse código que você usou como exemplo nem compila !!!

Tenta esse (desculpe a falta de indentação):

int main()

{

printf("!!!Hello World!!!");

for(int i = 0; i < 10; i++)

{

for(int j = 0; j < 10; j++)

{

if (j == 7)

{

printf("Sai no segundo loop!\n");

break;

}

}

}

printf("Sai no final!\n");

return 0;

}

Resultado na console (o break sai do segundo for) :

!!!Hello World!!!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no segundo loop!

Sai no final!

Obrigado pela resposta!

Eu sei que o código não compila, claro, ele nem está adaptado a nenhuma linguagem específica. Foi só um exemplo em pseudo-código do que eu queria fazer, para ilustrar minha pergunta.

Postado

Sim Gabriel, o "break" sai somente do for que tu utilizaste! :)

Postado

O break funciona para a estrutura de loops mais próxima do break. Sempre assim. No seu exemplo, a estrutura mais próxima é a do segundo laço FOR (o da variável "s").

Se depois do fechamento desse laço FOR você colocasse mais um break, ele valeria para o primeiro for.

A lógica é essa.

Só lembrando que o break é utilizado em outras situações também, que não loops. Em Switches, que são um tipo de estrutura condicional.

Não se esqueça que objective-C é uma derivação do C. Dê uma olhada em referencias de C que todas estas duvidas de semântica da linguagem são discutidas lá.

Abraço e bons estudos!

Postado

break dentro de for é meio "deselegante" usa um while com a condição de parada igual ao if que aciona o break

for (int i = 0 ; i < 10; i++){

int s = 0;

while ((s < =i) && (s != 7)){

s++;

}

}

Postado

Concordo com o javaXviper, for seria mais para um contador/listagem. Nesse caso o while cai como uma luva.

  • 3 semanas depois...
Postado

javaXviper,

no seu código, o contador não será incrementado quando s for igual a 7. Mas não efetua a saída como o break fez no post inicial.

A dúvida do Gabriel era quanto à saída do laço, feita por break.

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

Visitante
Responder este tópico…

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conta

Navegação

Buscar

Buscar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.