What does the question mark character ('?') mean?

What does a question mark (?) in C mean?

7

8 Answers

? is the first symbol of the ?: ternary operator.

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

a will have the value 1 if b is equal to 0, and 0 otherwise.

Additionally to other answers, ? can be part of a trigraph.

1

This is a ternary Operator which is conditional operator uses like if-else

example

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; 

Usage: Syntax of ?: is

assignment_Variable = Condition ? value_if_true : value_if_false; 

That’s probably a part of the ternary operator:

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

This is a so called conditional operator. You can shorten your if else statement with this operator.

The following link should explain everything

It is a conditional operator. For example refer the below link

0

Its the ternary operator, see

Most likely the '?' is the ternary operator. Its grammar is:

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

It is a nice shorthand for the typical if-else statement:

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

as it can usually fit on one line and can improve readability.

Some answers here refer to a trigraph, which is relevant to the C preprocessor. Take a look at this really dumb program, trigraphs.c:

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

invoking only the c preprocessor by running gcc -E -trigraphs trigraph.c the output is

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

Hopefully that clarifies a little bit what a trigraphs are, and what a '?' "means" in C.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like