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 :

Comprenhension d'une fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 172
    Par défaut Comprenhension d'une fonction
    Bonjour à tous, je suis débutant en c et j'ai un soucis pour comprendre ce code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned max(unsigned a,unsigned b)
    {
    	return (a>b)? a : b ;
    }
    Je vous remercie

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par gentil Voir le message
    Bonjour à tous, je suis débutant en c et j'ai un soucis pour comprendre ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned max(unsigned a,unsigned b)
    {
    	return (a>b)? a : b ;
    }
    C'est l'opérateur ternaire (encore appelé 'opérateur conditionnel'). Il est décrit dans ton livre de C (K&R2 2.11)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI a > b
     retourner A
    SINON
     retourner B
    FIN SI

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par gentil Voir le message
    Bonjour à tous, je suis débutant en c et j'ai un soucis pour comprendre ce code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned max(unsigned a,unsigned b)
    {
    	return (a>b)? a : b ;
    }
    Je vous remercie
    Fonction nommée "max" recevant deux "unsigned int" et renvoyant un unsigned int.
    La fonction renvoie ici la valeur évaluée par une expression
    Cette expression est de la forme "cond ?val1 :val2"
    Si "cond" est vrai, l'expression vaut "val1".
    Si "cond" est faux, l'expression vaut "val2"
    Conclusion => la fonction "max(a, b)" renvoie, entre a et b, la valeur la plus grande.

    Autre fonction similaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    unsigned min(unsigned a,unsigned b)
    {
    	return (a<b)? a : b ;
    }

    Donc voilà. Ceci complète la réponse d'Emmanuel qui, entre autre, te conseille de d'abord lire entièrement ton bouquin de C avant de venir poser des questions aussi triviales.
    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]

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Donc voilà. Ceci complète la réponse d'Emmanuel qui, entre autre, te conseille de d'abord lire entièrement ton bouquin de C avant de venir poser des questions aussi triviales.
    Pourquoi tu agresses un posteur qui s'appelle "gentil" ?
    Et qu'est-ce qu'il faut pas entendre, surtout de la part de quelqu'un qui affirme qu'une fonction "retourne une expression" !
    Quant à la trivialité de l'opérateur ( ?: ), on dirait que t'es pas passé par la case débutant.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par c-candide Voir le message
    Pourquoi tu agresses un posteur qui s'appelle "gentil" ?
    C'est le nom qu'il se donne, pas le nom qu'il a...
    Citation Envoyé par c-candide Voir le message
    Et qu'est-ce qu'il faut pas entendre,
    Ah ? Qu'ai-je dit de si horrible ? Qu'il fallait d'abord lire les livres ??? C'est vrai que face à la wii lire un livre peut paraitre complètement abscons mais je t'assure que c'est très utile !!!
    Citation Envoyé par c-candide Voir le message
    surtout de la part de quelqu'un qui affirme qu'une fonction "retourne une expression" !
    Petit lapsus en effet. Bien que n'importe qui d'autre que toi aurait su lire un peu "au-delà" du simple mot, j'ai quand-même rectifié.
    Citation Envoyé par c-candide Voir le message
    Quant à la trivialité de l'opérateur ( ?: ), on dirait que t'es pas passé par la case débutant.
    Ben justement si. J'ai débuté dans plein de langages dont notamment Python cet été. Et mes premières actions ont été de lire l'ensemble du bouquin de Swinnen (400 pages) puis celui de Pilgrim (300 pages) avant d'oser venir poster sur un fofo. J'ai évidemment pas tout retenu mais je suis quand-même allé au-delà des opérateurs et je réouvre ces livres au besoin. Faut quand-même sortir de l'assistanat...
    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]

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

Discussions similaires

  1. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24
  2. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  3. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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