Instrukcje wyboru pytanie

1

Pytanko czy ktos Wie dlaczego k ma taka wartosc?

Int I,j,k;
I=1,j=2
k=I>j ? I:j; (k ma teraz wartosc 2. Dlaczego?)
k = (I >=0 ? I= 0) + j 

(k ma teraz wartosc 3. Dlaczego?)>
Wie ktos moze dlaczego k przyjmuje takie wartosci? I co znacza znaki ?, :

2

Ad.1.
I jest mniejsze od j. A wiec jest tam false. A wiec zwraca drugie wyrażenie czyli j

Ad. 2.
I jest większe od zera a wiec jest tam true. A wiec zwraca pierwsze wyrażenie czyli I. Które potem jest zwiększa o j czyli 2

Poza tym:

  • to nie jest instrukcja wyboru tylko operator trojargumentowy :)
  • drugi kod się nie kompiluje, ale założyłem że = należy zastąpić :
0

Dziekuje

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.