Informations sur (?) et (:) en C ?

Bonjour à tous!

J’étais en train de lire un programme et je suis tombé sur deux opérateurs (si c’est bien des opérateurs car je n’en suis pas sûr), ? et : dans une opération, le problème c’est que je n’ai jamais vu ça. J’ai fais quelques recherches sur google, et je n’ai rien trouvé là-dessus…

Ce qui m’étonne, c’est que j’ai plusieurs cours, et qu’aucun d’entre-eux n’a fait mention de ces deux “opérateurs” (ou pas).

Par exemple en admettant que :

int o = 5, p = 9; int q; q = o * (p > o ? o : p);

q est égal à 25, mais pourquoi et comment ?
Est-ce des opérateurs ? expressions ?

Merci à vous et pardon de poser des questions qui peuvent paraître idiotes à vos yeux. :mrgreen:

Renseigne toi sur l’opérateur ternaire.

(a ? b : c) vaut b si a non nul (i.e a vrai) et c si a = 0.

Ah je comprends mieux, c’est pas mal ça!

Merci beaucoup à vous deux!
Et le mot ternaire me disait bien quelque chose et en effet, l’auteur du cours sur le site du zéro en parle… Me frappez pas… :mrgreen:

Bon, au moins je ne risque plus d’oublier…

Merci :blush:
:arrow_right:

Tu le trouve que je sache en C, en C++ et en Java;

en PHP aussi

Tant mieux, c’est déjà ça que je saurais lorsque je m’attaquerais à d’autres de ces langages :slightly_smiling: