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

C/C++ Q/A
[1136] Re:Re:BC++3.1과 VC++의 매크로중 누가 ANSI-C를 지키는 건가요?
상구 [iamboy93] 1413 읽음    2002-09-09 15:59
GCC 3.2에서는 다른 결과가 나오는 군요.
4, 4
6, 16
8, 36
10, 64

방태윤 님이 쓰신 글 :
: BC++3.1 출력 이 더 합리적인거 아닌가요?
: 우선순서가 왼쪽이 먼저였는가 보군요^^
: printf("%d, %d\n", j, (j++) * (j++)  );
: 이렇게 놓고 보면 bc 가 합리적으로 보이는데...
: 암튼 재밌는 결과군요...
: 근데 매크로문제가 아니라 우선순위 문제쯤 되지 않을까요?
: 매크로야 컴파일되기전에 완전히 해당 문자열로 교체되는걸로 알고있습니다.^^
:
: 김인구.구야 님이 쓰신 글 :
: : ANSI-C에 이것에 대해 정의가 되어있지 않다면
: : 어느 연산이 바람직하다고 생각하세요?
: : 물론 이런 코드는 안쓰는게 바람직하지만...
: :
: : #include <stdio.h>
: :
: : #define SW(X) ((X)*(X))
: :
: : void main(void)
: : {
: :     int i, j=0;
: :    
: :     for(i=0; i<5; i++)
: :         printf("%d, %d\n", j, SW(j++));
: : }
: :
: : BC++3.1 출력
: : 2, 0
: : 4, 6
: : 6, 20
: : 8, 42
: : 10, 72
: :
: : VC++ 출력
: : 0, 0
: : 2, 4
: : 4, 16
: : 6, 36
: : 8, 64


+ -

관련 글 리스트
3539         Re:Re:BC++3.1과 VC++의 매크로중 누가 ANSI-C를 지키는 건가요? 김인구.구야 1477 2002/09/09
3538         Re:Re:BC++3.1과 VC++의 매크로중 누가 ANSI-C를 지키는 건가요? 김인구.구야 1477 2002/09/09
1136         Re:Re:BC++3.1과 VC++의 매크로중 누가 ANSI-C를 지키는 건가요? 상구 1413 2002/09/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.