IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

!a et a!=0 / Pas pareil ?


Sujet :

C

  1. #1
    Membre régulier Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Points : 78
    Points
    78
    Par défaut !a et a!=0 / Pas pareil ?
    Bonjour a tous,

    Je lance cet discussion en esperant comprendre quelquechose
    Ca va faire 5ans que je developpe en C et C++ et c'est la premiere fois que je suis confronté a ce probleme
    Je suis sous windows Visual2005 avec un gros projet qui me lie beaucoup de bibliotheques (wxWidget, SDL, openCV...)

    J'ai reussi a contourné mon souci mais pourquoi ?



    La valeur de mon int est soit 0 soit 1

    Je fais un test qui a cette forme
    if( !variable) { ... } else { ... }
    Avec cette forme, le test me fait aller dans le if

    Je refais exactement la meme chose mais cette fois avec
    if ( variable!=0 ) { ... } else { ... }
    Avec cette derniere forme, je passe dans le else




    Je suppose donc que c'est totalement illogique
    mais j'ai pt une info qui pourrait etre utile, dernierement, j'ai commencé a utiliser les threads et pt que l'API se tromperait dans une recopie ou quelquechose du genre

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    bas oui:
    5 The result of the logical negation operator ! is 0 if the value of its operand compares
    unequal to 0, 1 if the value of its operand compares equal to 0. The result has type int.
    The expression !E is equivalent to (0==E).
    "The quieter you become, the more you are able to hear"
    "Plus vous êtes silencieux, plus vous êtes capable d'entendre"

  3. #3
    Membre régulier Avatar de Topeur
    Profil pro
    Inscrit en
    Février 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 91
    Points : 78
    Points
    78
    Par défaut
    C'est des fois dans la simplicité que se trouve la reponse !
    Et encore je cherchai a comprendre

    Merci pour ce petit dépannage et je pense que je vais faire une pause

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon site ne s'affiche pas pareil
    Par Darkyl dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/01/2012, 00h13
  2. le em de firefox n'est pas pareil que les autres ?
    Par clavier12AZQSWX dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/04/2010, 13h33
  3. Pas pareil IE et Firefox!
    Par benthebest dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 04/09/2008, 21h47
  4. [XL] Pas à pas ou auto, c'est pas pareil !
    Par WagaSeb dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 04/04/2007, 19h07
  5. [Null][Vide] VARCHAR2 Pareil ou pas ?
    Par ZeKiD dans le forum Oracle
    Réponses: 36
    Dernier message: 25/08/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo