Mis vahe on eelkasvu ja järkjärgulise suurendamise vahel?


Vastus 1:

Ükskõik, kas tegemist on juurdekasvuga (++) või kahandamisega (- -), üks erinevus, mis eel- või järelsõnumina teeb, on see, kas toiming toimub enne või pärast avaldise hindamist. Nagu nimed viitavad, tähendab eelnev juurdekasv väärtust enne avaldise hindamist ja järkjärguline vähendamine tähendab, et väärtust vähendatakse pärast avaldise hindamist.

Lihtne näide on:

int a = 5; int b = ++ a; // nii a kui ka b omavad sama väärtust 6. int c = 5; int d = c--; // c on 4 ja do on 5

Põhjalikumaks mõistmiseks võib meil olla keerukaid väljendeid, nagu allpool.

int a = 5; int b = a ++ + --a; // a = 5, b = 10 a = 5; b = a + ++ a; // a = 6, b = 11 a = 5; b = ++ a + a; // a = 6, b = 12

Kui suudate ülaltoodud küsimustele vastata, siis arvatakse, et teil on neist ühetaolistest operaatoritest hea arusaam. Võtame näiteks viimase avaldise, b = ++ a + a, liitmisoperatsioon arvutab esimese vasaku operandi väärtuse ja seejärel teise operandi. Esimese operandi väärtus on 6 (a väärtuseks seatakse selles kohas 6) ja teise operandi väärtus on samuti 6 (kuna a-väärtus on sellel hetkel 6). Seega on liitmine 12, mis salvestatakse b-le.

Loodetavasti vastab see teie küsimusele.


Vastus 2:

Küsimus on pisut kahemõtteline. Erinevus on eel- ja järeljärgmise vahel ning erinevus suurenemise ja vähendamise vahel. Operaatoreid on tegelikult 4, eel-juurdekasv, -järgmine, eel-vähendamine ja järk-järguline vähendamine. juurdekasv suurendab väärtust ühe võrra, vähendamine vähendab seda ühe võrra. Mis puudutab erinevust eel- ja järelpostituse vahel, siis erinevus on tagastatud väärtuses. eeltööde ajal operatsioon tehakse, siis tagastab selle oma väärtuse. in post - tagastatud väärtus on väärtus enne operatsiooni. Võtke näiteks see kood;

x = 3; // x väärtus on 3

y = ++ x; // x suurendatakse 4-ni ja 4-le omistatakse väärtus 4

x = 3; // jällegi, x-l on 3

y = x ++; väärtus 3 säilitatakse. x suurendatakse 4-ni. y-le omistatakse säilitatud väärtus 3