The ?...:... operator is a sort of shorthand
if...else... statement. Because it is a little
cryptic, it is not often used, but the basic form is as follows:
(condition) ? expression1 : expression2;
The program evaluates condition. If it is true (not zero), then
expression1 is returned; otherwise, expression2 is returned.
For example, in the short program below, the line
bas = (foo > bar) ? foo : bar; assigns foo to bas
if foo is greater than bar; otherwise, it assigns
bar to bas.
#include <stdio.h>
int main()
{
int foo = 10;
int bar = 50;
int bas;
bas = (foo > bar) ? foo : bar;
printf("bas = %d\n\n", bas);
return 0;
}