c언어

이중 반복문 핵심 깨달음 정리

lsjking911 2026. 5. 31. 19:06

✅ ✅ 1. 가장 중요한 깨달음

🔥 for문은 반복할 때마다 초기값부터 다시 시작한다


✅ 예시

for(int j=5; j>=1; j--){
    printf("-");
}

👉 실행 방식:

i=1 → j=5부터 시작 → 5번 반복  
i=2 → j=다시 5부터 시작 → 5번 반복  
i=3 → j=다시 5부터 시작 → 5번 반복

👉 결과:

-----
-----
-----

👉 ❗ 항상 같은 결과


 

✅ ✅ 2. 처음 오해했던 부분

처음에는 이렇게 생각하기 쉬움:

“j가 줄마다 이어질 것이다”

👉 ❌ 틀린 생각

✅ 실제 동작

j는 매 줄마다 새로 생성됨 ✅
→ 이전 값은 이어지지 않음

✅ ✅ 3. 그래서 문제의 진짜 원인

❗ 문제가 “초기화” 자체가 아니라
👉 조건이 항상 동일했던 것


❌ 잘못된 조건

j >= 1
 
 

👉 특징:

i가 바뀌어도 조건 동일
→ 반복 횟수 항상 같음
→ 변화 없음 ❌

 


✅ ✅ 4. 해결 방법

for(int j=5; j>=i; j--){
    printf("-");
}

✅ 실행 결과

i=1 → 5개
i=2 → 4개
i=3 → 3개
i=4 → 2개
i=5 → 1개

👉 ✅ 줄마다 달라짐

✅ ✅ 5. 핵심 원리

🔥 for문은 매번 초기화되기 때문에 변화는 조건에서 만들어야 한다

✅ ✅ 6. 핵심 구조 이해

초기값 → 항상 같은 시작점  
조건   → 반복 횟수 결정 (여기서 변화 발생)

 

✅ 비교

요소 역할
초기값 시작 위치 (고정)
조건식 반복 횟수 (변화 만드는 핵심)

✅ ✅ 7. 진짜 핵심 공식

패턴 = 변화
변화 = 반복 횟수 변화
반복 횟수 변화 = 조건(i)

 

✅ ✅ 최종 한 줄 정리

🔥 for문은 매 반복마다 초기값부터 다시 시작하므로, 반복 횟수의 변화는 조건에서 만들어야 하며, 그 기준은 줄을 결정하는 i가 된다

😎 초간단 감각

for문 = 매번 새로 시작  
패턴 = 조건으로 만든다
 

✅ ✅ 8. 왜 i를 기준으로 사용하는가

🔥 가장 바깥 반복문(i)이 “줄”을 결정하기 때문이다

✅ 핵심 구조

for(i) → 줄(전체 흐름)
for(j) → 그 줄에서 반복 횟수

 

✅ 왜 i를 쓰는가

  • i는 줄 번호라서 매 반복마다 변함
  • 줄이 바뀌면 출력도 달라져야 함
  • 그래서 j의 반복 횟수를 i 기준으로 만든다

✅ 예시

for(int j=5; j>=i; j--){
    printf("-");
}
 

👉 의미:

줄(i)에 따라 반복 횟수 변경

 

 

✅ ✅ 9. 다른 변수도 사용할 수 있는가

가능하다
❗ 하지만
👉 반복 범위가 줄(i)에 따라 변해야 한다

✅ ✅ 되는 경우

int x = 4;

for(int j=i; j<=x; j++){
    printf("-");
}

👉 특징:

시작 = i (변함)
끝 = x (고정)

👉 결과:

i=1 → 4개  
i=2 → 3개  
i=3 → 2개  

👉 ✅ 줄마다 변화 발생

✅ ✅ 핵심 포인트

🔥 i와 고정값을 조합하면 패턴이 만들어진다

❌ ❌ 안 되는 경우

int x = 3;

for(int j=x; j<=5; j++){
    printf("-");
}

👉 특징:

시작 = 고정값
끝 = 고정값

👉 결과:

항상 동일 ❌

 

✅ ✅ 진짜 핵심 정리

i = 변화 (줄)
x = 고정 (기준값)

→ 변화 + 고정 조합 → 패턴 생성 ✅
→ 고정 + 고정 → 변화 없음 ❌

 

✅ ✅ 최종 핵심 한 줄

🔥 변수 이름은 중요하지 않고, 반복 범위가 줄(i)에 따라 변하느냐가 가장 중요하다

😎 최종 감각 (마무리용)

i = 기준 (줄)
j = 반복 횟수 계산

→ j는 i를 이용해서 변화해야 패턴이 만들어진다
→ i와 고정값을 섞어서 사용해도 된다

 

'c언어' 카테고리의 다른 글

피라미드 쌓기 프로젝트  (0) 2026.05.31
조건에서 깨달은 핵심  (0) 2026.05.31
이중 반복문과 별 찍기 패턴 정리  (0) 2026.05.31
이중 반복문 완전 정리 (파헤치기🔥)  (0) 2026.05.31
for문 vs while문 정리  (0) 2026.05.31