break, continue...
나라찬
질문 제목 : break, continue질문 내용 :
구구단을 출력하되 짝수 (2단,4단,6단,8단)만 출력되도록 하자.
또한 2단은 2×2까지, 4단은 4×4까지, 6단은 6×6까지, 8단은 8×8까지 출력되로록 프로그램을 구현해보자.
continue, break문을 이용하여 해결하라.#include stdio.h
int main(void)
{
int i,j;
for(i=1; i10; i++)
{
if(i%2!=0)
continue;
for(j=1; j10; j++)
{
if(ij)
break;
printf(%d×%d=%d \n, i,j,i*j);
}
printf(\n);
}
return 0;
}
이 질문을 올렸었는데요..
i=1일때 if(i%2!=0)이면 1%2는 1, 1의 !는 0이니까 continue 으로 인해 실행되지 않고다시 for문의 증감식으로 되돌아감
되돌아가서 i=2가 되고 if(i%2!=0)이면 2%2는 0, 0의 !는 1이니까 continue 실행되지 않고 for(j=1; j10; j++)으로 진행
for(j=1; j10; j++)으로 진행후 i=2, j=1인대 21은 성립하지 않으므로 break문 실행되지 않고 다시 for(j=1; j10; j++)으로 돌아감
되돌아가서 i=2, j=2이고 22는 성립하지 않으므로 break문 실행되지 않음 다시 돌아감
i=2, j=3 이고 23성립, break문 실행
따라서 2×1=2, 2×2=4 출력
이 과정을 i10, j10까지 반복
그러니까... if문 바로 continue가 있을 경우 if문이 실행될 경우 continue 문이 실행되어 다시 if문의 증감식으로 돌아가고
if문이 성립되지 않을 경우 continue를 건너뛴다..
if문 바로 break 문이 있을 경우 if문이 실행될 경우 break문이 실행되어 탈출 (성립된 값은 출력x)
if문이 실행되지 않는 경우 다시 if문으로 되돌아감
제가 이해하는 부분이 이거 맞나요....?