ลำดับการทำงานของตัวดำเนินการ (precedence and
associativity of operators)
แสดงลำดับการทำงานของตัวดำเนินการในภาษา C มีดังนี้
ตัวดำเนินการที่มีลำดับการทำงานอันดับที่ 1 จะทำงานก่อนอันดับที่ 2 โดยทำงานไปเรื่อย ๆ จนกระทั่งหมดตัวดำเนินการ ส่วนลักษณะการทำงานของตัวดำเนินการแต่ละอันดับนั้นแตกต่างกันไป ซึ่งจะเป็นการทำงานจากซ้ายไปขวา (left to rigth) หรือขวาไปซ้าย (rigth
to left) ก็ได้
ตัวอย่างที่ 2.5 แสดงขั้นตอนการทำงานของตัวดำเนินการ
8 + 5 * 3
4
+15
19 ตัวดำเนินการ * อยู่ลำดับสูงกว่าตัวดำเนินการ +
จึงต้องคูณเลขก่อนแล้วทำการบวกเลขทีหลัง
10
/ 2 + 5 – 3
5
+ 5 – 3
10
- 3
7 ตัวดำเนินการ /
อยู่ลำดับสูงกว่าตัวดำเนินการ
+ และ -
ส่วนตัวดำเนินการ + และ
- อยู่ลำดับเดียวกัน แต่ให้ทำจากซ้ายไปขวา จึงทำบวกก่อนแล้วจึงทำลบ
9 * 3 - 20 / 5 + 6
27
- 4
+ 6
23
+ 629 ตัวดำเนินการ *
และ / อยู่ลำดับเดียวกันให้ทำจากซ้ายไปขวา คือ
คูณเลขก่อน แล้วหารเลข ส่วนตัวดำเนินการ - และ +
อยู่ลำดับเดียวกันให้ทำจากซ้ายไปขวา
คือ ลบเลขก่อนแล้วจึงบวกทีหลัง
ที่มา : http://varried.blogspot.com/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น