Sequence Point

    C 평가 순서 [unspecified, undefined, Sequence Point]

    문제 이 코드를 실행했을때 콘솔창에는 어떤 결과가 나올까요 ? ( 1 , 2 ) ( 2 , 1 ) ( 2 , 2 ) ( 1 , 1 ) 정답은 바로 ' 모른다 ' 입니다. 평가 순서 왜 그럴까요? 이 이유를 알려면 C언어의 평가 순서에 대해 알아야 이해할수가 있습니다. C언어의 평가순서는 'unspecified' 이며 인자나 피연산자가 왼쪽부터 평가될지, 오른쪽부터 평가 될지 혹은 동시에 평가될지는 컴파일러마다 다르기 때문에 코드만 봐서는 결과를 예측할수가 없습니다. 그리고 이런 현상을 'undefine' 라고 부르는 것 입니다. 💡 Unspectified [ 표준에서 명시되지 않은 ] : 표준에서 동작 방식을 정하지 않고, 컴파일러가 자신의 환경에 맞게 알아서 기능을 동작 시킨다는 의미. 💡 Undefi..