Maison > développement back-end > C++ > Quelle est la différence entre « Mal formé ; aucun diagnostic requis » et un comportement non défini en C ?

Quelle est la différence entre « Mal formé ; aucun diagnostic requis » et un comportement non défini en C ?

Barbara Streisand
Libérer: 2024-11-21 03:06:11
original
509 Les gens l'ont consulté

What's the Difference Between

Différence entre "Mal formé ; aucun diagnostic requis" et un comportement non défini

En C, il existe différentes catégories de comportement de programme irrégulier, y compris les éléments indéfinis, mal formés et définis par l'implémentation. Alors qu'un comportement indéfini implique que le programme est erroné, les programmes mal formés ne sont tout simplement pas bien formés.

Le terme « mal formé ; aucun diagnostic requis » suggère un programme qui viole les règles syntaxiques ou sémantiques, ce qui le rend erroné. Cependant, l’absence d’exigence de diagnostic indique qu’il s’agit d’un comportement indéfini. Cette incohérence survient parce que la norme C tente d'exiger des diagnostics pour toutes les erreurs, alors que la norme C considère toutes les erreurs comme un comportement indéfini.

La distinction entre "mal formé ; aucun diagnostic requis" et un comportement indéfini réside en fin de compte dans le contexte spécifique. Le premier est plus souvent associé à des erreurs de programmation, tandis que le second est associé à des problèmes d'exécution. Cependant, les deux cas impliquent que le comportement du programme est imprévisible et potentiellement erroné.

Par conséquent, bien que la formulation puisse différer, « mal formé ; aucun diagnostic requis » et un comportement indéfini véhiculent essentiellement le même sens : le programme ne peut pas être considéré comme bien formé et le comportement de l'implémentation n'est pas défini.

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