Maison >développement back-end >C++ >L'ordre d'évaluation des opérandes dans les expressions C et C est-il spécifié ou non ?

L'ordre d'évaluation des opérandes dans les expressions C et C est-il spécifié ou non ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 11:26:30965parcourir

Is the order of evaluation of operands in C and C   expressions specified or unspecified?

Ordre d'évaluation des opérandes en C et C

Question :

Dans des expressions comme "a b", l'ordre d'évaluation des opérandes est-il spécifié ou non spécifié ?

Réponse :

L'ordre d'évaluation des opérandes n'est pas spécifié en C et en C .

Détails :

  • En C :

    • Pour les types définis par l'utilisateur, "a b" est un appel de fonction, et la norme indique que l'ordre d'évaluation des arguments de la fonction n'est pas spécifié.
    • Pour les opérateurs normaux, la norme précise que l'ordre d'évaluation des opérandes n'est pas non plus spécifié.
  • En C (hypothèse) :

    • La formulation de la norme est similaire à celle de C, il est donc probable que l'ordre d'évaluation des opérandes n'est pas non plus spécifié en C.

Informations supplémentaires :

Il est important de noter que même si l'ordre d'évaluation n'est pas précisé, il est garanti que le résultat de l'expression sera le même quel que soit l'ordre d'évaluation. En effet, le compilateur est chargé de s'assurer que l'expression est évaluée correctement.

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!

Déclaration:
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