Effacer les filtres
Effacer les filtres

Rewrite the script without using continue and break statement.

8 vues (au cours des 30 derniers jours)
TEOH CHEE JIN
TEOH CHEE JIN le 14 Fév 2022
Commenté : Cris LaPierre le 14 Fév 2022
I have written a code as below:
a=5:-1:-2;
i=1;
while(1)
if(a(i)<0)
break;
end
b=a(i)*2;
i=i+1;
if(b>=4)
continue;
end
disp('b<4')
end
disp('end of computation')
The script includes continue and break statements. Note that break will exit the innermost enclosing of while or for loop; while continue will jump to the end of the innermost enclosing while or for loop.
I wish to rewrite my code by removing break and continue so that it looks nicer. Any suggestions? Thank you.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 14 Fév 2022
Modifié(e) : Cris LaPierre le 14 Fév 2022
You can remove the if statement containing the break by just using the opposte condition as the conditional statement controlling the while loop execution.
while a(i)>=0
You could reverse the contitional on your 2nd if statement, and replace continue with your disp command.
  1 commentaire
Cris LaPierre
Cris LaPierre le 14 Fév 2022
a=5:-1:-2;
i=1;
while a(i)>=0
b=a(i)*2;
i=i+1;
if(b<4)
disp('b<4')
end
end
b<4 b<4
disp('end of computation')
end of computation

Connectez-vous pour commenter.

Plus de réponses (1)

David Hill
David Hill le 14 Fév 2022
Not sure what you are trying to do, but the final b is going to be zero.
a=5:-1:-2;
b=0;
disp('b<41');
disp('b<41');
disp('end of computation');

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by