VC 에서 i = ++i + ++i; 와 (다른 C컴파일러로는 아직 해보지 않았음)자바 나 c#에서 i = ++i + ++i; 코드의 결과가 다른 이유는 무엇일까요?전 당연히 그 어떤경우라도 3의 결과를 예측했으나 VC에서 돌려본 결과 4가 나오네요
vc가 병맛
저딴 코드 쓰지말라고 어너리 아리스메틱 오퍼레이션은 다른 오퍼레이션이랑 섞어 쓰지마라
야 씨파 저런거 선임이 썼으면 직접 찾아가서 확..
저도 어떤게시판에 어떤분이 쓴거보고 3이라 예상했는데 뜻밖에 4라는 답을 듣고 어안이 벙벙해서
뭐 하지는 못하겠슴니다..
C 표준은 한 문장에서 한 변수의 값이 여러 번 변경될 때의 결과를 정의하지 않았음. (즉 컴파일러 지좆대로 나옴) 이건 C++도 마찬가지.
아마 자바나 C#은 그 순서를 표준에 명시했을 거임. 어느 순서인지는 알고 싶지도 않지만
표준에 정의 되어있지 않은 행동임. 컴파일러 구현하는 사람 마음.그러니까 저런코드 쓰지마