ausdruck1 ? ausdruck2 : ausdruck3miteinander und ist die verkürzte Schreibweise einer Zweiwegeentscheidung.
steht für
VERBATIM/b215a: max = x > y ? x : y;
Der Entscheidungsoperator erzeugt einen Ausdruck, der selbst wieder in Ausdrücken als Operand genutzt werden kann. Sinnvolle Anwendung z.B. beim Funktionsaufruf in Parameterlisten.
VERBATIM/b215b: if(x > y) max = x; else max = y;
BEISPIELE/b215.c: #include <stdio.h> main() /* Entscheidungsoperator */ { int x = 2 , y = 1, z = 3; x += y += z; printf(" x = %d ,y = %d ,z = %d \n", x, y, z ); printf(" x < y ? y : x => %d\n", x < y ? y : x ); printf(" x < y ? ++x : y++ => %d\n", x<y ? ++x : y++ ); printf(" x = %d ,y = %d ,z = %d \n", x, y, z ); printf(" z += x<y ? x++ : y++ => %d\n", z+=x<y?x++:y++ ); printf(" x = %d ,y = %d ,z = %d \n", x, y, z ); }