Rewrite the script without using continue and break statement.
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
TEOH CHEE JIN
am 14 Feb. 2022
Kommentiert: Cris LaPierre
am 14 Feb. 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.
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 14 Feb. 2022
Bearbeitet: Cris LaPierre
am 14 Feb. 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 Kommentar
Cris LaPierre
am 14 Feb. 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
disp('end of computation')
Weitere Antworten (1)
David Hill
am 14 Feb. 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');
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!