Postfix dan Prefix increment

Kuliah | 22.10.2008 8:33 |

Iseng2 . . Beberapa teman yang programmer saya ajukan pertanyaan mencongak sedikit berikut ini . .

a=10
b=a++

berapakah nilai b ?Suatu pertanyaan dari potongan program yang sederhana .. dan kebanyakan dari mereka menjawab nilai b adalah 11. Cuman kang pengki saja yang menjawab 10.

Dan setelah dicoba hasilnya memang adalah 10. hidup pengki !!!

Kalau dilihat sekilas memang seharusnya nilai b adalah 11 .. secara a++ adalah sama dengan a=a+1.
Ini adalah masalah postfix dan prefix increment. .

Postfix increment, misal a++ adalah proses menambahkan nilai 1 pada variable a. . Penambahan nilai ini dilakukan SESUDAH nilai dari variable diambil dan dipakai dalam program.
Misal nya

b=a++

sama halnya dengan

b=a
a=a+1

(untuk kasus mencongak diatas, dimana a=10.. maka nilai b adalah 10)

Prefix increment, misal ++a adalah proses menambahkan nilai 1 pada variable a. . Penambahan nilai ini dilakukan SEBELUM nilai dari variable diambil dan dipakai dalam program
Misal nya

b=++a

sama halnya dengan

a=a+1
b=a

(dengan metode ini, maka nilai b adalah 11)

Demikian juga dengan prefix decrement (- -a) dan postfix decrement(a- -)

Jadi untuk Potongan program dibawah ini

int x=6;
int y=4;
a=++x // x=6+1 = 7 , a=x=7.
b=(y+3)*2 +x- - // (4+3)*2+7 = 21.

Memang benar adanya kalau nilai dari variable a adalah 7, sedangkan b adalah 21. .

1 Comment on “Postfix dan Prefix increment”

comments rss | trackback url

  1. sandal

    22.10.2008 9:45

    Hidup Pengki! :D

Leave a Reply