-21
Java가 50
인데도 C++이 동일한 코드 개념에 대해 51
을 출력하는 이유는 무엇입니까?java vs C++ 사전 및 증분 증가
int i=5;
i= (++i + ++i + ++i + ++i + ++i + i++);
print i
자바 : 50
C++ 다음 lauguages 다르게 지정되어 있기 때문에 51
Java가 50
인데도 C++이 동일한 코드 개념에 대해 51
을 출력하는 이유는 무엇입니까?java vs C++ 사전 및 증분 증가
int i=5;
i= (++i + ++i + ++i + ++i + ++i + i++);
print i
자바 : 50
C++ 다음 lauguages 다르게 지정되어 있기 때문에 51
결과는 다릅니다.
평가 순서는 자바 있도록 정의되기 때문에 자바는 50
을 말한다 이유. 덧셈은 6 + 7 + 8 + 9 + 10 + 10 == 50입니다. 마지막 게시물 증분은 할당에 의해 덮어 쓰여지며 아무 효과가 없습니다.
C++은 그것이 출력을 할 수 있도록 도시 된 프로그램은 C++로 동작 보증되지 51
말한다있다. 이 경우 51이되었습니다. 이 대답에 대한 자세한 내용 : https://stackoverflow.com/a/4176333/2079303
이것은 유효하지 않은 C++입니다. –
이 문장의 진정한 목적은'(++ i ++ ++ i ++ ++ i ++ ++ i + i ++); –
유사/듀피 [여기] (http://stackoverflow.com/questions/949433/why-are-these-constructs-using-undefined-behavior) – WhiZTiM