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

C/C++ Q/A
[2260] Re:질문입니다......자세한 설명 부탁드립니다.....
불사새 [phenix96] 1110 읽음    2003-04-04 13:17
함수를 호출할때는 스택 정리를 호출한쪽이 하는가 호출 당한쪽이 하는가...라는것과 인자를 오른쪽부터 전달할것인가..왼쪽부터 전달할 것인가..등이 있습니다.

일반적으로 함수에서 인자 전달은 오른쪽에서 왼쪽으로 진행합니다.

자~ 따라하세요~~

printf("i = %d, i++ = %d, ++i = %d\n", i, i++, ++i);
오른쪽부터 따져보면... ++i은 11이고 i++은 11로 표현되지만 연산 수행후 12가 됐으니 i는 12
그러므로 출력은 12 11 11

3번째도 같은 이유...

김학래 님이 쓰신 글 :
: #include<stdio.h>
:
: main()
: {
:     int i, j, m, n;
:     i = j = m = n = 10;
:     printf("i = %d, i++ = %d, ++i = %d\n", i, i++, ++i);
:     printf("j = %d, j+1 = %d, j+2 = %d\n", j, j+1, j+2);
:     printf("m = %d, m-- = %d, --m = %d\n", m, m--, --m);
:     printf("n = %d, n-1 = %d, n-2 = %d\n", n, n-1, n-2);
: }
:
: 여기에서 결과값이
:
: 첫번째 12  11  11
: 두번째 10  11  12
: 세번째 8   9   9
: 네번째 10  9   8
:
: 이렇게 나오는데요.....첫번째랑 세번째가 왜 저렇게 나오는지
:
: 자세히 설명좀 해주세요......
:
: 도저히 이해가 안되네요 ㅜㅜ
:

+ -

관련 글 리스트
2258 질문입니다......자세한 설명 부탁드립니다..... 김학래 1066 2003/04/04
2261     Re: 절대로 이런 코드는 사용하지 마세요!! 김백일.cedar 1039 2003/04/04
2260     Re:질문입니다......자세한 설명 부탁드립니다..... 불사새 1110 2003/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.