


Comment utiliser le fonctionnement du langage C Ll et & amp; amp; & amp; amp; & amp; amp; amp;
Apr 03, 2025 pm 09:09 PMLe && et || Les opérateurs ont des caractéristiques d'évaluation de court-circuit: &&: Lorsque le premier opérande est faux, il revient faux et que le deuxième calcul de l'opérande est ignoré. ||: Lorsque le premier opérande est vrai, revenez vrai, sautez le deuxième calcul de l'opérande. La fonction de court-circuit peut éviter les appels dénués de sens vers des expressions qui produisent des effets secondaires, améliorer l'efficacité et éviter les erreurs de pointeur nul. Cependant, les effets secondaires doivent être pris en compte lors de l'utilisation, et le court-circuit doit être désactivé si nécessaire.
évaluation logique et court-circuit dans le langage C: discussion approfondie &&
et ||
De nombreux débutants sont confus par les opérateurs logiques &&
(logique et) et ||
(logique ou) dans le langage C, non seulement leur utilisation de base, mais surtout le mécanisme d'évaluation de court-circuit derrière eux. Cet article expliquera ces deux opérateurs de manière facile à comprendre et partagera quelques pièges et solutions que j'ai rencontrés dans ma carrière de programmation.
Le but de cet article est de vous donner une compréhension approfondie de la fa?on dont &&
et ||
travailler et comment les utiliser en toute sécurité et efficacement, en évitant certaines erreurs courantes. Après l'avoir lu, vous pourrez écrire en toute confiance le code C contenant des opérations logiques et résoudre facilement les problèmes liés.
Tout d'abord, passons en revue la logique booléenne. En C, les valeurs non nulles sont considérées comme vraies, tandis que les valeurs nulles sont considérées comme fausses. L'opérateur &&
renvoie vrai uniquement lorsque les deux opérandes sont vrais, sinon il renvoie false; le ||
L'opérateur renvoie vrai tant qu'un opérande est vrai et ne revient que FAUX uniquement lorsque les deux opérandes sont faux. Cela semble simple, non? Mais la clé réside dans leurs caractéristiques de "court-circuit".
Les deux &&
et ||
Les opérateurs ont des caractéristiques d'évaluation de court-circuit. Cela signifie que lorsque le compilateur effectue des opérations logiques, elle ne calcule pas toujours tous les opérandes. Pour &&
, si le premier opérande est faux, le résultat de l'expression entière doit être faux et le compilateur sautera directement le calcul du deuxième opérande. De même, pour ||
, si le premier opérande est vrai, le résultat de toute l'expression doit être vrai et le compilateur sautera également le calcul du deuxième opérande.
Jetons un coup d'?il à quelques exemples, ressentons le charme de l'évaluation de court-circuit et jetons également un ?il à certains pièges potentiels:
<code class="c">#include <stdio.h> int func1() { printf("func1 called\n"); return 0; // 假} int func2() { printf("func2 called\n"); return 1; // 真} int main() { if (func1() && func2()) { printf("Both functions returned true\n"); } else { printf("At least one function returned false\n"); } if (func2() || func1()) { printf("At least one function returned true\n"); } else { printf("Both functions returned false\n"); } return 0; }</stdio.h></code>
Exécutez ce code et vous constaterez func2
est appelé une seule fois. En effet, dans le cas de &&
, func1
renvoie false func2
ne sera pas exécuté. Dans la deuxième déclaration if
, func2
renvoie True, func1
ne sera pas exécuté.
Cette fonctionnalité de court-circuit est très utile pour traiter des fonctions ou des expressions qui peuvent avoir des effets secondaires. Par exemple, évitez les déréférences aux pointeurs nuls:
<code class="c">int* ptr = NULL; if (ptr != NULL && *ptr > 10) { // 安全的操作}</code>
Si ptr
est un pointeur nul, alors ptr != NULL
est faux. Le mécanisme d'évaluation de court-circuit empêchera l'accès à *ptr
et évitera les accidents du programme. S'il n'y a pas de court-circuit, le code essaiera d'accéder au pointeur nul, ce qui provoque le plan du programme.
Cependant, l'évaluation de court-circuit peut également apporter des résultats inattendus, en particulier lorsque vous comptez sur les effets secondaires des opérandes. Par exemple, si vous voulez que les deux fonctions soient appelées quelle que soit leur valeur de retour, vous ne pouvez pas compter sur l'évaluation de court-circuit.
L'évaluation en termes de performances et court-circuit améliore généralement l'efficacité car elle réduit les calculs inutiles. Cependant, cette amélioration est généralement triviale à moins que vos opérandes ne soient très complexes ou qui prennent du temps.
En résumé, compréhension des mécanismes d'évaluation de court-circuit de &&
et ||
est essentiel pour écrire un code C efficace et s?r. N'oubliez pas que lorsque vous utilisez ces opérateurs, faites toujours attention à l'impact possible de l'évaluation de court-circuit pour éviter les erreurs potentielles. Ce n'est qu'en pratiquant plus et en pensant plus que vous pouvez vraiment ma?triser le mystère derrière ces opérateurs apparemment simples.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les dernières nouvelles du 18 septembre, Huawei HarmonyOS6 a lancé plusieurs cycles de version prévisibles pour les développeurs, et a récemment ouvert la qualification d'expérience à certains utilisateurs qui l'ont essayé pour la première fois. Selon les commentaires de l'utilisateur, le nom du système actuel n'affiche plus le suffixe "suivant", et il est officiellement renommé HarmonyOS6.0. Huawei a initialement proposé le nom HarmonyOsnext pour la première fois lors de la conférence des développeurs en ao?t 2023, visant à marquer le système Hongmeng entrant dans une nouvelle étape de développement et réalisant le véritable développement auto-autonome indigène. La percée la plus principale de HarmonyOsNext est d'adopter complètement l'architecture du système sous-jacente développée indépendamment, de supprimer complètement le noyau Linux et le code AOSP Android, et d'exécuter uniquement des applications basées sur le noyau Harmonyos.

Dans la finale d'été de la Peace Elite Professional League (PEL), le nouveau modèle phare OnePlus 15 de OnePlus, a fait ses débuts officiels et a été officiellement annoncé comme la machine désignée pour la compétition officielle de la nouvelle génération de PEL. à en juger par les photos réelles exposées sur place, OnePlus 15 adopte une nouvelle conception du module d'image à matrice à matrice arrondi, et le style global est assez similaire à l'OnePlus 13T précédemment publié, et il est plus concis et net visuellement. Il convient de noter que la machine ne continue plus de coopérer avec l'imagerie de Hasselblad, mais est à la place équipée du système d'imagerie de condensation Oppolumo Light de l'Oppo, marquant la nouvelle exploration d'une marque dans le chemin de la technologie d'imagerie. En termes de configuration d'écran, OnePlus 15 lancera une résolution de 1,5 K officiel

Le système Windows 10 est livré avec une fonction de maintenance automatique, qui peut effectuer des taches de maintenance sur le système en fonction de la durée définie, telles que les mises à jour du système ou la défragmentation du disque. Par défaut, la maintenance automatique de Windows 10 est activée. Cependant, dans certains cas, nous pouvons préférer gérer ces opérations de maintenance par nous-mêmes pour mieux contr?ler l'équipement. Alors, comment puis-je désactiver le service de maintenance automatique de Windows 10? Ensuite, jetons un coup d'?il aux étapes spécifiques ensemble, j'espère que ce sera utile à tout le monde. La méthode spécifique pour désactiver la fonction de maintenance automatique dans Win10 est la suivante: étape 1, appuyez sur les touches Win et R en même temps pour ouvrir la fenêtre en cours d'exécution. Après être entré Regedit, cliquez sur OK ou appuyez sur Entrée; étape 2: Si le contr?le du compte utilisateur est ajouté

1. Utilisez le "Browser Doctor" intégré au navigateur à 360 vitesses pour résoudre les problèmes de réseau en un seul clic; 2. Effacer le cache et les cookies pour résoudre les exceptions de chargement; 3. Passez au mode de compatibilité pour éviter de rendre les conflits; 4. Réparer les composants LSP par le biais de 360 ??garanties de sécurité; 5. Changez le DNS en 101.226.4.6 et 8.8.8.8 pour améliorer le taux de réussite de la résolution; 6. Vérifiez si le pare-feu ou le logiciel antivirus empêche le navigateur d'être connecté à Internet et ajoutez une liste blanche si nécessaire.

La désactivation de tous les cookies améliore la protection de la vie privée Safari. L'onglet de confidentialité dans vos préférences vérifiez "Bloquer tous les cookies" pour obtenir un arrêt global; ou utilisez le mode de navigation invisible pour bloquer temporairement le stockage des cookies et effacer automatiquement les données après la fermeture de la fenêtre; Il peut également combiner la compensation des cookies existants et permettre à la fonction de blocage d'éliminer complètement la rétention historique et future des cookies.

Tout le monde sait qu'il existe de nombreux types de phénomènes d'écran bleu dans Windows 10. Lorsque l'écran bleu se produit, beaucoup de gens ne savent souvent pas comment y faire face. étant donné que la plupart du code affiché sur l'écran bleu est obscur et difficile à comprendre, de nombreux utilisateurs sont confus et difficiles à résoudre le problème par eux-mêmes. Aujourd'hui, parlons de la fa?on de gérer efficacement le code de l'écran bleu Kernel_Security_Check_Failure. Ce code d'écran bleu indique généralement qu'il y a des problèmes avec le pilote, et les erreurs les plus courantes sont les cartes réseau et les pilotes graphiques. Les raisons de l'écran bleu de la cochée du noyau-cocheur peuvent être les suivantes: il existe des problèmes de compatibilité avec les pilotes de carte réseau. La version du pilote de carte graphique ne correspond pas ou est endommagée. En réponse à cette situation,

Tout d'abord, passez au mode de compatibilité IE pour résoudre le problème de l'affichage Web anormal. Les opérations spécifiques comprennent: la commutation manuelle des noyaux via l'ic?ne de la foudre de la barre d'adresse; Ajouter des sites Web à la liste des mode de compatibilité pour réaliser l'adaptation automatique; ou la personnalisation des règles dans des paramètres avancés pour forcer des URL spécifiques à utiliser des noyaux IE, améliorant ainsi la compatibilité.

Lorsque nous utilisons des ordinateurs, la dactylographie est une opération de base indispensable - qu'il s'agisse d'écrire du code, de rechercher des pages Web ou d'utiliser un logiciel de chat, il est inséparable à partir de la saisie du texte. Récemment, un utilisateur utilisant le système Win7 a rapporté que lorsqu'il a ouvert le navigateur et était sur le point d'entrer dans le contenu, il a constaté que le clavier ne pouvait pas taper normalement, ce qui le rendait très troublé. Alors, comment résoudre le problème que l'ordinateur ne peut pas taper dans le système Win7? Ensuite, cet article présentera en détail les solutions spécifiques. Solutions aux ordinateurs Win7 qui ne peuvent pas saisir le texte: 1. Cliquez d'abord le menu "Démarrer" dans le coin inférieur gauche du bureau et recherchez et ouvrez l'option "Exécuter". Entrez la commande [regeDit] dans la fenêtre d'exécution pop-up et appuyez sur Entrée pour ouvrir l'éditeur de registre. comme suit
