: 순서 사이왜 v [i] = i ++가 C에서 정의되지 않은 동작입니까? ACCU의 과부하 # 115에 흥미로운 기사 읽기
당신이 참여 변수의 상태에 대해 어떤 가정을 할 수 없습니다 포인트 : "악마는 코의 날아 월"나는 저자가 말하는 발견 . 이는 C에서 다른 언어와 달리 다음과 같은 표현식은 정의되지 않은 동작을 초래 함을 의미합니다.
v [i] = i ++;
때문에 C 에서 일련의 지점을 나타내지 않는 할당 연산자
사람이 여기 UB을 의미 자세한 추론 무엇을 설명 할 수 있습니까? 두 시퀀스 포인트 사이에 동일한 변수에 두 번 이상 쓰는 문제가있을 것이라고 생각했는데, 여기에는 v [i] 앨리어싱의 가능성을 제외하고는 볼 수 없습니다 ...
도움이 될만한 정보가 있습니다. http://stackoverflow.com/questions/13744507/why-is-i-vi-undefined –
[(i = i ++ + ++ i, i = i ++ 등 ...)이 정의되지 않은 동작을 설명 할 수 있습니까? ] (http://stackoverflow.com/questions/949433/could-anyone-explain-these-undefined-behaviors-iiiii-etc) –
단락에서는 왜 "시퀀스 포인트 사이에 어떤 가정을 할 수 없는지 설명합니다. 관련 변수의 상태 "와 v [i]는'i'가 어떤 특별한 의미있는 값을 가질 것이라고 가정합니다. –