CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): HellCat ((void*)0)
날 짜 (Date): 1994년02월07일(월) 04시17분24초 KST
제 목(Title): re: 결론 by zeo



        근데, 안타깝게도 K&R 은 다시..

        "Intermediate result can be stored in temporary variable
         to ensure a particular sequence."

        라고 하네요.

        그리고 볼랜드C 는 우수한 상품으로 알려져 있는 상품이고.
        (볼랜드사와 저랑 관계 전혀 없음)

        터보C 에서 위에서 말씀 하신 경우

        K&R 에서 말하는 잘못된 경우는

        func(a, b, c) 에서 a, b, c 가 다 expression 일때
        a, b, c 중 어느 expression 이 먼저 evaluated 되어서
        func() 으로 패스 되어 지는 것이 undefined 라는 것이지

        Turbo-C 에서 처럼

        result = a; /* a is expression */
        func (a);   /* a is the same expression */

        일때 같은 expression a 가 다르게 evaluate 되는 것은 아닙니다.

        그리고 위에서 lint 의 결과를 올린 것과 같이,
        mips 나 sun 아키텍쳐에서 아키텍쳐에 따라 consistant 한 결과가
        나오는 것이 (전 mips 가 잘못 된 것으로 알았는데) 잘못된 것이
        아닌 것이 맞습니다.

        하지만 터보씨는 한가지 확실 한것은

        program 1 에서 result = expression; 과
        program 2 에서 func(expression) 이

        다르게 취급 된 다는 사실, 그리고 전 그것으로 인해서
        터보C 에 대한 비난을 했다는 사실을 아셔 주셨으면 좋겠고,
        그 것이 잘못 된 생각이라면 이해가 되도록 고쳐 주시면 감사 하겠으며,
        마지막으로 저도 "잘 알지도 못하면서...." 를 더하고 싶지만
        생략 하지요.


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.