Krótkie zadanie - tłumaczenie dla laika

0

Witam,

mam problem z takim pewnie banalnie prostym zadankiem, mianowicie:

int x=4;
if (2 < (++x / 2))
{
Console.WriteLine("TRUE")
}
else
{
Console.WriteLine("FALSE")
}

i teraz rozumiem, że w zależności od spełnienia warunków równania if (2 < (++x / 2)) pojawi się "TRUE" lub "FALSE". Wynik równania będzie 2 < 2,5 czyli teoretycznie powinno wyskoczyć TRUE a wyskakuje FALSE? Czy ktoś mógłby mi to łopatologicznie wytłumaczyć?

Pozdrawiam.

0

W celu zobrazowanie tego co napisano w komentarzu powyżej:

         int iwynik = 5/2;
         double dWynik = 5/2d;
         Console.WriteLine("5/2 = {0}", iwynik);
         Console.WriteLine("5/2d = {0}", dWynik);
0

Faktycznie, bardzo dziękuje za odpowiedzi :) a jeszcze z takim kodem:

 {
            for (int i = 8; i == 8; i++) ;
   
{
    Console.WriteLine("TEKST");
    Console.ReadLine();

for (int i = 8; i == 8; i++) czyli pętla, kiedy wartość i będzie równa 8 ma się wyświetlić napis "Tekst" i potem za każdym razem do i jest dodawane 1 czyli napis pojawi się jeden raz, przynajmniej tak to rozumiem. Tylko dlaczego w momencie, gdy ustawię i = 9 i tak ten "tekst" się wyświetla? Teoretycznie warunki nie powinny być spełnione bo zaczynamy od 9 i potem dodaje +1 czyli 8 nigdy nie wystąpi?

0

Wydaje mi się, że to jest 1 obieg pętli, więc tak czy siak jest spełniony, potem jest inkrementacja i wtedy sprawdzany jest warunek.

0

Masz średnik po tej pętli.

0

Ustaw kursor przed pętlą i wciśnij F9 lub kliknij lpm na pasku po lewej stronie okna edytora. Następnie wciskaj F10 będziesz linia po linii mógł sprawdzić jakie wartości w danym momencie mają zmienne. Więcej tu http://www.codeproject.com/Articles/79508/Mastering-Debugging-in-Visual-Studio-A-Beginn

1 użytkowników online, w tym zalogowanych: 0, gości: 1