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 :

Barrer les expressions fausses


Sujet :

C

  1. #1
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut Barrer les expressions fausses
    Bonjour à tous,

    J'ai une petite question : le prof nous demande de barrer les fausses expressions. Je voulais savoir si c'était bon, tout ce que je barrais ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef struct
    {
        char NOM[20];
        int AGE;
    } TYPE_PERS; 
     
    TYPE_PERS *v;
    TYPE_PERS p1, p2;
    Voici les expressions, j'ai mis du rouge pour celles qui n'étaient pas exactes.


    printf("\n%c\n" ,p1->Nom[5]);

    printf("\n%c\n" ,p2.NOM);
    printf("\n%s\n" ,v.Nom[3]);
    printf("\n%s\n" ,v->Nom[3]);
    printf("\n%c\n" ,v->Nom);
    printf("\n%s\n" ,p1.Nom);
    printf("\n%s\n" ,v->Nom);
    printf("\n%x\n" ,p2->Nom);
    printf("\n%s\n" ,v->AGE);
    printf("\n%x\n" ,p2->AGE);

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Salut
    Tu devrais réfléchir de nouveau sur la dernière expression printf("\n%x\n" ,p2->AGE); parce que p2 n'est pas un pointeur. Sinon c'est ok.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonjour Sve@r,

    Merci d'avoir vérifié, pour ce qui est du dernier, j'ai été trop vite..

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Si vraiment on veut chercher la petite bête, alors la 2° printf("\n%c\n" ,p2.NOM) et la 5° printf("\n%c\n" ,v->Nom) pourraient fonctionner. Suffit que la valeur stockée dans le membre "NOM" (il s'agit bien évidemment d'une adresse, on est bien d'accord) corresponde (hasard ?) à une valeur affichable au format "%c". A réfléchir si le prof a posé ces expressions en pensant à cette possibilité ou bien s'il voulait rester simple. Mais tu peux quand-même lui en faire la remarque...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Bonjour,

    Sve@r a raison. Le C est sensible à la casse (minuscules et majuscules) et il faut être rigoureux sur ce point. Si on en tient compte, aucune de ces expressions ne serait valide.

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

Discussions similaires

  1. ignorer les expression regulieres ds un variable
    Par rootdaoud dans le forum Langage
    Réponses: 3
    Dernier message: 22/01/2006, 16h07
  2. [langage] Les expressions régulières
    Par BENCHEKROUN dans le forum Langage
    Réponses: 12
    Dernier message: 20/05/2005, 17h22
  3. Bug dans les expressions régulières ?
    Par SergioF dans le forum Linux
    Réponses: 8
    Dernier message: 12/05/2004, 15h14

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