Operator ternar în C explicat

programatorii folosesc operatorul ternar pentru luarea deciziilor în loc de declarații condiționale mai lungi dacă și altceva.

operatorul ternar ia trei argumente:

  1. primul este un argument de comparație
  2. al doilea este rezultatul unei comparații adevărate
  3. al treilea este rezultatul unei comparații false

ajută să ne gândim la operatorul ternar ca la o prescurtare sau să scriem o declarație if-else., Iată un exemplu simplu de luare a deciziilor folosind if and else:

int a = 10, b = 20, c;if (a < b) { c = a;}else { c = b;}printf("%d", c);

Acest exemplu durează mai mult de 10 linii, dar acest lucru nu este necesar. Puteți scrie programul de mai sus în doar 3 linii de cod folosind un operator ternar.

Sintaxa

condition ? value_if_true : value_if_false

declarația se evaluează la value_if_true dacă condition este îndeplinită, și value_if_false în caz contrar.,

Iată exemplul anterior rescris pentru a utiliza operatorul ternar:

int a = 10, b = 20, c;c = (a < b) ? a : b;printf("%d", c);

Ieșire din exemplul de mai sus ar trebui să fie:

10

c este egal cu a, deoarece starea a < b era adevărat.

Amintiți-vă că argumentele value_if_true și value_if_false trebuie să fie de același tip, și acestea trebuie să fie expresii simple, mai degrabă decât declarații complete.

operatorii ternari pot fi imbricate la fel ca If-else declarații., Luați în considerare următorul cod:

int a = 1, b = 2, ans;if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; }} else { ans = 0;}printf ("%d\n", ans);

Aici e codul de mai sus rescrisă folosind o imbricate operatorul ternar:

int a = 1, b = 2, ans;ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);printf ("%d\n", ans);

ieșire de ambele seturi de cod de mai sus ar trebui să fie:

Author: admin

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *