Autor: Dondu
Kurs języka C: Spis treści
Inkrementacja i dekrementacja za pomocą operatorów ++ oraz -- to zwiększenie lub zmniejszenie wartości zmiennej o jeden. Operatory te możesz umieszczać przed i po zmiennej.
Najczęściej używana forma:
Przykład 1 (w kompilatorze)
//inkrementacja ++a; //preinkrementacja a++; //postinkrementacja //dekrementacja --b; //predekrementacja b--; //postdekrementacjaW tym przypadku umieszczenie operatorów przed, czy po zmiennej nie ma znaczenia. Po prostu w danej linii kodu zmieniasz wartość zmiennej o jeden.
Są jednak przypadki gdzie kolejność ma znaczenie. Zacznijmy od:
++zmienna
--zmienna
Umieszczenie operatora przed zmienną skutkuje pierwszeństwem wykonania operatora względem pozostałych operatorów w danym wyrażeniu arytmetycznym. Patrząc na przykład poniżej, zmienna a najpierw zostanie zwiększona o jeden, a dopiero później jej wartość zostanie przypisana zmiennej b.
Przykład 2 (w kompilatorze)
//deklaracja zmiennych int a=0, x=5, b, y; //operacje b = ++a; //preinkrementacja y = --x; //predekrementacja
zmienna++
zmienna--
Teraz umieścimy operatory za zmienną. W tym przypadku operator zostanie wykonany na końcu. Innymi słowy najpierw wartość zmiennej a zostanie przypisana do zmiennej b, a dopiero później zmienna a zostanie powiększona o jeden.
Dlatego wyniki będą inne niż w poprzednim przykładzie.
Przykład 3 (w kompilatorze)
//operacje b = a++; //postinkrementacja y = x--; //postdekrementacja
Sprawdź w kompilatorze CManiak oba przykłady.
Ćwiczenie
Przeanalizuj poniższy przypadek, a później sprawdź w kompilatorze CManiak, czy prawidłowo rozwiązałeś ćwiczenie.
Przykład 4 (w kompilatorze)
int a=2, b=3, c; c = a++ + --b;
Kurs języka C: Spis treści
11
a noo
OdpowiedzUsuńŁatwe i przejrzyste wytłumaczenie
OdpowiedzUsuń