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 :

problème de syntaxe


Sujet :

C++

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut problème de syntaxe
    Bonjour !

    Je suis en train d'étudier un code source et j'ai besoin de quelques éclaircissements sur certains points de syntaxe !

    Tout d'abord une boucle for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
    for (u = list, i = 0; i < n/2-1; u = u->next, i++) ;
      mid = v = u->next;
      ComputeConvexHull(list, n/2, B, A);  // recurse on left and right sides
      ComputeConvexHull(mid, n-n/2, B+n/2*2, A+n/2*2);
     
    for ( ; ; )  // find initial bridge
        if (turn(u, v, v->next) < 0) v = v->next;
        else if (turn(u->prev, u, v) < 0) u = u->prev;  
        else break;
    ...
    Je ne comprend pas le ; juste aprés la première boucle for ???
    Pour la deuxième boucle : for ( ; ; ) je comprends pas non plus !

    Ensuite quand on on fait cela :
    A[k++] = B[j];

    Quelle instruction est executée en premier ? k++ ou l'affectation ?


    Et enfin une derniere question !
    A[k++] = u = u->next;

    Dans ce cas là, l'ordre des instructions est bien :
    u = u->next; puis A[k++] = u;
    non ?

    Merci d'avance pour toutes ces clarifications et pour votre aide !

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Bonjour,
    J'espère répondre correctement à tes questions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for (u = list, i = 0; i < n/2-1; u = u->next, i++) ;
    Cette ligne boucle toute seule, et apparament place un iterateur de liste sur son milieu. D'où le ;


    c'est une boucle infinie, comme
    Ensuite quand on on fait cela :
    A[k++] = B[j];

    Quelle instruction est executée en premier ? k++ ou l'affectation ?
    Affectation puis k++ je pense

    Et enfin une derniere question !
    A[k++] = u = u->next;

    Dans ce cas là, l'ordre des instructions est bien :
    u = u->next; puis A[k++] = u;
    non ?
    je dirais que OUI

    voila
    @+
    Math

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 366
    Par défaut
    ----------------------------------


    for (....); signifie que tu fais l operation ; (c est a dire rien);

    for (A ; B ; C); est donc equivalent a

    A;

    while (B){

    C;
    };

    ----------------------------------


    for (; ; { /* est equivalent a while(1){ .... } --> pour toujours */

    ...
    }

    ----------------------------------


    l'operateur ++ :

    a++ : retourne la valeur de a puis incremente

    ++a: incremente a puis retourne sa nouvelle valeur


    donc

    A[k++] = B[j];

    est equivalent a:

    tmp = k;

    k++;

    A[tmp] = B[j];


    ----------------------------------

    A = B = C; est equivalent a

    A = (B = C);

    donc B = C est evalue en premier

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut
    Merci pour vos réponses !
    C'est maintenant clair pour moi !

    Allez je me replonge dans la compréhension de ce code !

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

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 11h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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