배열이 0
으로 채워지는 경우이 코드는 정의되지 않은 동작으로 연결됩니까? 또는 수 컴파일러 할이컴파일러가 명령문마다 여러 비교에서 UB 우선 순위를 확인합니까?
의 "와 비교 것 인 것처럼
uiaDigit[10];
for (sizeIndexI = 0; sizeIndexI < 10 && uiaDigit[sizeIndexI] == 0; sizeIndexI++)
;
내가 판독 방향 같은 것을 추측 것"첫째로 자동이 아닌 포인터 값을 확인 "덜 중요한 조건 즉, 몇 가지 검사 항상 왼쪽에서 오른쪽으로 읽히고 처음 false로 나옵니다. "
대부분의 구현에서 정의 된 동작입니까, 그렇지 않습니까?
그래야 컴파일러가 sizeIndexI
이 10이되면 어쨌든 깨져 야합니다. 아니면 'uiaDigit [10] == 0'을 비교할 것입니까?
모든 빠른 답변 주셔서 감사합니다. 누구나 참조 할 수있는 표준에서 본다면 정말 감사 할 것입니다. – dhein
표준에서 평가 순서를 쉽게 찾을 수 있습니다. 우리는 그것을 찾을 수도 있고 그렇게 할 수도 있습니다. –
실화, 나는'&&'도 시퀀스 포인트 기호라는 것을 알지 못했다. 그러나 어쩌면 나중에 시계가 스탠다드의 asnwer를 보는 것이 더 좋지 않을까요? – dhein