모듈로의 정의되지 않은 동작을 0으로 해결
프로그래밍에서는 모듈로 연산자(%)를 사용하여 하나를 나눌 때 나머지를 결정합니다. 다른 사람의 번호. 그러나 제수 0과 함께 사용하면 X % 0 표현식이 유효하지 않게 되고 정의되지 않은 동작을 호출합니다.
이 동작은 0으로 나누기가 정의되지 않는 모듈로의 수학적 정의에서 비롯됩니다. 논리적으로 일부 사람들은 X를 0으로 나눈 나머지가 X여야 하므로 X % 0이 X와 같을 것이라고 예상할 수 있습니다. 그러나 C 표준에서는 0으로 모듈로를 수행하면 정의되지 않은 동작이 발생한다고 명시적으로 명시합니다(§5.6/4):
[...] If the second operand of / or % is zero the behavior is undefined; [...]
따라서
X / 0; // Undefined behavior X % 0; // Undefined behavior
표현식은 C에서 유효하지 않은 것으로 간주됩니다. 예측 불가능하고 잘못된 동작을 방지하려면 코드에서 이러한 표현식을 피하는 것이 중요합니다.
또한 피연산자 하나가 음수일 때 나머지 부호는 구현에 따라 정의된다는 점에 유의하는 것이 중요합니다(§5.6/4).
[...] If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined.
따라서 -5 % 2와 같은 표현식은 항상 예상한 결과를 반환하지 않을 수 있으며 동작은 상황에 따라 달라질 수 있습니다. 구현합니다.
위 내용은 0과 함께 모듈로 연산자를 사용하면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!