Maison > développement back-end > C++ > Pourquoi X % 0 est-il invalide en C ?

Pourquoi X % 0 est-il invalide en C ?

Patricia Arquette
Libérer: 2024-11-06 18:55:03
original
413 Les gens l'ont consulté

Why Is X % 0 Invalid in C  ?

Impossible de Mod Zero ?

Pourquoi l'expression X % 0 est-elle invalide dans les langages de programmation comme C ? Intuitivement, on pourrait s'attendre à ce qu'il renvoie le reste de X, similaire à la division.

Selon la norme C (2003), le comportement des opérateurs / et % n'est pas défini lorsque le deuxième opérande (le diviseur) est zéro :

[...] If the second operand of / or % is zero the behavior is undefined [...]
Copier après la connexion

Par conséquent, les expressions suivantes invoquent un comportement non défini (UB) :

X / 0; // UB
X % 0; // UB
Copier après la connexion

Ce comportement non défini signifie que le résultat exact de ces expressions est imprévisible et peut varier en fonction de le compilateur ou l'implémentation spécifique.

De plus, il est important de noter que le reste de -5 % 2 n'est pas simplement le négatif de 5 % 2. Le signe du reste lorsque les deux opérandes sont non positifs est l'implémentation -défini, non standardisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal