Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5873] for문 중첩에 대한 궁금증
화니 [] 2310 읽음    2006-11-16 18:05
안녕하세요. 저는 Turbo C 3.0 사용자입니다.

아직 C에 대한 지식이 턱없이 부족한지라 열심히 공부하는 도중 이해가 가지 않는 부분이 있어서요.

각설하고,

1 : #include <stdio.h>

2 : void draw_box(int, int);

3 : main()
4 : {
5 :     draw_box(8, 35);

6 :     return 0;
7 : }

8 : void draw_box(int row, int column)
9 : {
10 :      int col;
11 :      for ( ; row >0 ; row --)
12 :      {
13 :           for ( col = column ; col > 0 ; col --)
14 :                 printf("X");
15 :           printf("\n");
16 :      }
17 : }

위 소스코드에 대한 출력은
가로 35 세로 8에 해당하는 상자크기가 'X'로 구성되어 나타납니다.

그런데 이해가 되지 않는 부분은 바로 11번에서 16번행 까지입니다.

질문 1. 11번행에서 row의 초기값은 8에 해당하는건지요?

질문 2. 13번행에서 col은 column의 초기값 35를 할당받게 될텐데 그럼 35에서 1이 될때까지
            for문이 실행될것이고 그 결과로 34, 33, 32 ...... 3, 2, 1 순서로 'X'가 그려져야 하는게 아닐런지요?
           
질문3.  결국 직각삼각형의 형태로 우측이 점차 줄어드는 형태의 삼각형이 그려져야 하는게 아닐까해서요.
           삼각형이 그려져야 하는데 그렇지 않은 이유는 'row' 의 값이 한 행으로만 한정되어졌기때문에
           한줄씩만 나타나는 건가요?
           (row 에 8이 할당되었을때 col 초기값은 35, row 에 7이 할당되었을때도 col 초기값은 35...
             이런원리때문에 삼각형이 아닌 8행 35열의 'X'자로 구성된 사각형 박스가 그려지는건가요?)

알듯 모를듯...헷갈리네요. 제 궁금증을 해결해주세요~~!
그럼 모두들 오늘도 즐거운 하루 되셨길 바랍니다.

+ -

관련 글 리스트
5873 for문 중첩에 대한 궁금증 화니 2310 2006/11/16
5875     Re:for문 중첩에 대한 궁금증 외랑 2120 2006/11/17
5880         외랑님 감사합니다. 화니 1936 2006/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.