Qu’est-ce que en C signifie?

Que signifie un point d’interrogation (?) En C?

? est le premier symbole de l’opérateur ?: ternaire.

 a = (b==0) ? 1 : 0; 

a aura la valeur 1 si b est égal à 0 et 0 sinon.

En plus d’autres réponses ? peut faire partie d’un sortinggraphe .

Ceci est un opérateur ternaire qui est un opérateur conditionnel utilise comme si-else

Exemple

 int i=1; int j=2; int k; k= i > j ? i : j; //which is same as if(i>j) k=i; else k=j; 

Utilisation: Syntaxe de ?: Is

 assignment_Variable = Condition ? value_if_true : value_if_false; 

C’est probablement une partie de l’ opérateur ternaire :

 const int numApples = …; printf("I have %i apple%s.\n", numApples == 1 ? "" : "s"); 

C’est ce qu’on appelle un opérateur conditionnel. Vous pouvez raccourcir votre déclaration if else avec cet opérateur.

Le lien suivant devrait tout expliquer

http://www.crasseux.com/books/ctutorial/The-question-mark-operator.html

C’est un opérateur conditionnel. Par exemple, reportez-vous au lien ci-dessous http://en.wikipedia.org/wiki/Conditional_operator

Très probablement le ‘?’ est l’opérateur ternaire. Sa grammaire est:

 RESULT = (COND) ? (STATEMEN IF TRUE) : (STATEMENT IF FALSE) 

C’est un bon raccourci pour la déclaration typique de if-else:

 if (COND) { RESULT = (STATEMENT IF TRUE); } else { RESULT = (STATEMENT IF FALSE); 

comme il peut généralement tenir sur une ligne et peut améliorer la lisibilité.

Certaines réponses ici se réfèrent à un sortinggraphe, qui est pertinent pour le pré-processeur C. Jetez un oeil à ce programme vraiment stupide, sortinggraphs.c :

 # /* preprocessor will remove single hash symbols and this comment */ int main() { char *t = "??="; char *p = "??/""; char *s = "??'"; ??(, ??), ??! ??<, ??>, ??- return 0; } 

appelant uniquement le préprocesseur c en exécutant gcc -E -sortinggraphs sortinggraph.c la sortie est

 int main() { char *t = "#" char *p = "\""; char *s = "^"; [, ], | {, }, ~ return 0; } 

Espérons que cela clarifie un peu ce que sont les sortinggraphes et ce que ‘?’ “signifie” en C.