?: Operator
-
Kann mir den mal jemand erklären, oder hat jemand nen guten link??
der link aus dem thread geht nämlich nimma...
http://www.c-plusplus.net/forum/viewtopic-var-t-is-56093-and-highlight-is-operator.html
-
Hi,
vielleicht hilft dir das:
#include <stdio.h> int main() { int zahl = 10; if(zahl > 0) printf("Wahr"); else printf("nicht wahr"); zahl > 0 ? printf("Wahr") : printf("nicht wahr"); return 0; }
-
aha, ok thx... kann man das auch innerhalb von funktionen verwenden?
alsofoo(int i); foo(zahl=10? 23:4)
-
Ja. Nur bist du dir sicher, dass du zahl=10 meinst und nicht eher zahl==10?
-
oh, doch *g*
-
Das Hauptmerkmal des Operators ist doch der von der Bedingung abhängige Ausdruck. Nach deinem Beispiel wäre es ja "nur" eine If-else-Abkürzung.
Von daher wäre bei dem Beispiel...
printf( zahl>0 ? "wahr" : "nicht wahr");
...anschaulicher.
-
Hi,
jo, stimmt. Aber MasterCounter hat ja schon entdeckt, dass der ternäre überall dort eingesetzt werden kann, wo Ausdrücke erforderlich sind.