On Nov 15, 2007 9:17 PM, genjuro <[EMAIL PROTECTED]> wrote: > mas, gw juga ada pertanyaan nih... tlg dijawab ya... > apa mksd dari left-to-right ? spt yang ada dalam contoh: > > a = 5 + 7 % 2
Ada tiga hal yang menentukan urutan operasi: precedence, associativity, dan tanda kurung Jika ada operator dengan precedence lebih tinggi, maka operator itu dikerjakan lebih dulu. Misal: *, / lebih tinggi dari + dan -, maka: a *b + c *d artinya a dikalikan dengan b lalu c dikalikan dengan d, dan hasilnya dijumlahkan. Associativity menyatakan urutan operasi jika operator memiliki presedensi yang sama. Kalau operator memiliki assositivitas kiri-ke-kanan, maka sisi kiri akan dikerjakan lalu sisi kanan Contoh: Left to right: a+b+c --> a + b lalu ditambahkan dengan C Right to left: operator =, operator ternary, operator unary, operator +=, *=, dsb contoh: int a, b; b = 2 a = b *= 5 karena right to left maka kali pertama b *= 5 dievaluasi --> b menjadi 10 lalu assignment a = b dilakukan, hasinya a juga menjadi 10 Jika ada tanda kurung, maka grouping dilakukan berdasarkan tanda kurung tersebut. a *b + c* d sama dengan (a *b)+(c*d) Untuk pertanyaan sisanya, kayanya Anda harus mulai dari contoh pointer yang sederhana dulu deh. Jangan terlalu lompat2 belajarnya. -- Regards Yohanes http://tinyhack.com/freewarelist/s603rd/ -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis