필터 지우기
필터 지우기

Rewrite the script without using continue and break statement.

조회 수: 8 (최근 30일)
TEOH CHEE JIN
TEOH CHEE JIN 2022년 2월 14일
댓글: Cris LaPierre 2022년 2월 14일
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.

채택된 답변

Cris LaPierre
Cris LaPierre 2022년 2월 14일
편집: Cris LaPierre 2022년 2월 14일
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
Cris LaPierre
Cris LaPierre 2022년 2월 14일
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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Hill
David Hill 2022년 2월 14일
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');

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by