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

C/C++ Q/A
[5091] Re:개초보의 질문입니다....
최준호.스페로 [sparrow] 1304 읽음    2005-06-28 09:34
j+1 는 j값을 변경 하지 않습니다.
i = j +1;
이렇게 하면 i가 j+1값을 가질 뿐 j값은 그대로 입니다.
j++은 j값 을 1을 증가 시킵니다.

for 문에서 j++을 이용하는 것은 j를 계속 해서 증가 시키겠다는 의미 입니다.

printf("%4d", j+1); 에서 j++로 변경 하신다면
같은 결과를 얻기 위해서는 for문도 수정 해야 합니다.

아래와 같이 수정 한것을 비교 해보세요
        for(j=0;j<i+1;)
            printf("%4d", ++j);


++j 와 j++의 차이도 있습니다.

먼저 j값을 증가 시키고 LValue쪽으로 반영 시키겠다.

j값을 LValue에 반영 시키고 j를 증가 하겠다.

차이가 있습니다.

j+1 , ++j, j++ 이 모두 다르 다는 사실을 명심 하세요.

그럼.






김현규 님이 쓰신 글 :
: #include<stdio.h>
: int main()
: {
:     int i, j, n;
:
:     printf("\nPlease write the number:");
:     scanf("%d", &n);
:
:     for(i=0;i<n;i++)
:     {
:         for(j=0;j<i+1;j++)
:             printf("%4d", j+1);
:         printf("\n");
:     }
: return 0;
: }
:
: 보시다시피 for문에서 맴돌고있습니다.
: 이 for문 중에
:
: printf("%4d", j+1);
:
: 라는 부분 중에 j+1을 j++로 바꾼 후 5를 입력하면
:
: 1
: 1 2
: 1 2 3
: 1 2 3 4
: 1 2 3 4 5
:
: 로 입력되던게
:
: 0
: 0
: 0 2 2
: 0 2 2
: 0 2 2 4
:
: 로 입력됩니다.
:
: 이유는 무엇이고 도데체 "+1"과 "++"의 차이는 무엇입니까?
:
:
: 추가질문: %d와 &n, 그리고 %4d와 %d의 차이점도 가르쳐주시면 감사하겠습니다.

+ -

관련 글 리스트
5089 개초보의 질문입니다.... 김현규 1304 2005/06/27
5091     Re:개초보의 질문입니다.... 최준호.스페로 1304 2005/06/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.