인프런 커뮤니티 질문&답변

오겹살님의 프로필 이미지
오겹살

작성한 질문수

홍정모의 따라하며 배우는 C언어

6.15 중첩된 루프들

while문 사용해서 1번예제 푸는법

작성

·

245

0

While 문을 사용해 풀어 봤습니다.

int main()
int r, c;

r = FIRST_CHAR;
c = 0;

while (c < NUM_ROWS)
{
while (r <= LAST_CHAR)
{
printf("%c ", r);
r++;
}

r = FIRST_CHAR;
c++;
printf("/n");
}

return 0;
}

r을 아우터 루프에서 FIRST_CHAR로 초기화를 해줘야 이너 루프
가 반복되더라구요

이 방법말고 r을 보다 깔끔하게? 초기화해서 코드를 줄이거나
간편하게 힐 수 있는 방법이 있을까요?

답변 2

1

안녕하세요 :)

제 생각에는 해당 코드도 충분히 깔끔하게 잘 작성하신듯합니다!

 

해당 중첩 연습문제를 풀기 위해서는 두 개의 변수 초기화는 불가피합니다.

이를 NUM_ROWS 와 LAST_CHAR로 잘 초기화해주신 듯 합니다.

 

조금이나마 더 줄여 보자면 

아래와 같이  줄일 수 있겠군요.

 

int main()
{
    int r = FIRST_CHAR; 
    int c = 0;
    
    while (c < NUM_ROWS) {
      while (r <= LAST_CHAR) {
        printf("%c ", r);
        r++;
      }

      r = FIRST_CHAR;
      c++;
      printf("/n");
    }

    return 0;
}

 

감사합니다.

 

 

0

오겹살님의 프로필 이미지
오겹살
질문자

아이고... 이거 띄어쓰기로  들여쓰기 했는데 안 먹었네요...

오겹살님의 프로필 이미지
오겹살

작성한 질문수

질문하기