"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C ++ 표현식에서 여러 사후 증분의 출력이 예측할 수없는 이유는 무엇입니까?

C ++ 표현식에서 여러 사후 증분의 출력이 예측할 수없는 이유는 무엇입니까?

2025-03-22에 게시되었습니다
검색:428

Why is the Output of Multiple Post Increments in a C   Expression Unpredictable?

다음 코드를 고려하십시오 :

int i = 5; cout

이 문장은 결과를 출력하기 전에 표현식 i i-- i-i를 평가합니다. 그러나 평가 순서는 정의되지 않아 예측할 수없는 출력으로 이어지지 않습니다 (예 : "45555"). 이 점에는 세미콜론 (;), 쉼표 (,) 및 명세서의 끝이 포함됩니다.

명세되지 않은 동작 :
int i = 5;

cout  

예 :

  • int x = 20, y = 35; x = y y x y;
  • 이 표현식은 다음 순서로 평가합니다 :
  • y : 36으로 y : 35를 반환하고 35 (y의 원래 값)
  • x : x : x :

y. Y). 시합되지 않은 표현으로. 시퀀스 포인트를 이해하고 시퀀스가없는 컨텍스트 내에서 동일한 변수에 대한 부작용을 피하는 것이 필수적입니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3