PlayXP

새로운 사이트를 준비하는 동안
여러분의 이야기가 이어질 작은 공간을 마련했습니다.

PlayXP 서비스를 준비하며 함께 작업하고 있는 운영진 일러스트

C언어 질문 (3)

조회 수 666

int j1, j2;

 for (j1 = 1; j1 <= 6; j1 = j1 + 1) {
  for (j2 = 1; j2 <= 6; j2 = j2 + 1) {
   if (j1 + j2 == 7) {
    printf("값1=%d, 값2=%d ", j1, j2);
    j1 = 1;
   }
  }
 }

 

2중루프입니다.

j1이 1~6까지 돌고 그 안에서 또 j2가 1~6까지 돌게 하면서 합이 7이되면 j1과 j2를 출력하는데

거기서 j1이 1이 되게 추가를 해봤습니다.

출력 값은

 

값1=1, 값2=6
값1=2, 값2=5​

값1=1, 값2=6
값1=2, 값2=5​

값1=1, 값2=6
값1=2, 값2=5​

...

이렇게 나오는데요. 질문입니다.

처음에 j1이 1이되고 j2가 1부터 돌기시작합니다.

j2가 6이 되었을 때 if문을 만족하고 1과 6을 출력하면서 j1이 1로 바뀌죠.

근데 j2가 6까지 끝나면서 다시 다음 j1=j1+1이라했으니 j1이 2가 되면서

2와 5를 출력합니다.

근데 그렇게 되면

값1=1, 값2=6

값1=2, 값2=5​

값1=2, 값2=5​

값1=2, 값2=5​

값1=2, 값2=5​

값1=2, 값2=5​

값1=2, 값2=5​

 

이렇게 실행되야하는 거 아닌가요?

 

제가 어디서 이해를 잘못 하고 있는 지 궁금합니다.​

 

목록으로

댓글

댓글을 불러오는 중...