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 :

Structure conditionnel et valeur par défaut du test de la condition.


Sujet :

C

  1. #1
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut Structure conditionnel et valeur par défaut du test de la condition.
    Bonjour,

    La plus part du temps lorsque j'utilise le If, je précise dans la condition le test que je fait. Par exemple sur un strcmp, je précise que je test l'égalité ou la différence à 0 selon mon besoin.

    Actuellement je lis un code que je n'ai pas développé, et je dois le comprendre sans avoir le droit de le modifier.
    Dans ce code, il arrive souvent que dans les If, la condition soit un appel à une fonction qui renvois 0 ou 1 sans préciser le test d'égalité effectué.
    Alors je me demandais quel est le test fait par défaut par un compilateur, et si cela dépend du compilateur (ici une des dernière version de GCC).
    Est ce que le compilateur test l'égalité ou la différence du résultat par rapport à 0 en gros.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    La norme du C spécifie (grosso modo) que if(x) est toujours la même chose que if( (x) != 0)

    (corrigez-moi si je me trompe).

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Merci pour ta réponse.

    C'est l'impression que j'avais, mais je n'étais pas sur.
    Donc maintenant je vais pouvoir comprendre pourquoi il ne rentre pas dans cette condition, maintenant que je sais qu'il n'y rentre pas

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    on en a déjà parlé plusieurs fois, et, de manière générale, même si le compilo a des règles implicites, il est toujours beaucoup plus lisible (et ça n'est pas le nombre de caractères impliqués qui perturbe le cours de l'écriture) d'expliciter tous les tests (qu'ils correspondent ou non au défaut), puisque le principe du if est de fonctionner sur un booléen, et donc tant que la varaible n'est pas un booléen, il est bien plus clair de tester sur la vraie comparaison...


    (c'était juste un petit rappel général opportuniste, pas pour toi)

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    (c'était juste un petit rappel général opportuniste, pas pour toi)
    ok mais je m'excuse quand même, j'ai cherché la réponse à ma question sur google, et j'ai oublié de le faire sur ce forum

    De toute façon je n'étais pas réveillé ce matin, je m'en apperçois en reprenant du code que j'ai fait ce matin.
    Problème de pointeur sur les structures, de tableau de structure, de tableau de pointeur de structure, de passage en paramètre de variable à des fonctions, et à la modification de celle-ci, ...
    Bref galère en C, surtout lorsque l'on n'est pas réveillé le matin.

    Enfin c'est réglé maintenant, mais la gestion de la mémoire quel bordel quand même :s

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par ced600 Voir le message
    mais la gestion de la mémoire quel bordel quand même :s
    Ça demande du doigté et de la concentration...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/10/2010, 23h36
  2. Structure et valeur par défaut
    Par HechMan dans le forum Débuter
    Réponses: 8
    Dernier message: 20/08/2010, 16h56
  3. [A-03] Test et valeur par défaut d'une variable
    Par moilou2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/10/2008, 14h17
  4. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  5. Unique + valeur par défaut
    Par ketalie dans le forum Outils
    Réponses: 4
    Dernier message: 02/07/2003, 15h29

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