StepCoding

ลำดับความสำคัญของ Operator

อ่าน [1661] หมวดหมู่: ตัวดำเนินการ (Operator)

ลำดับความสำคัญของตัวดำเนินการ (operator) นั้นมีความสำคัญมากในการเขียนโปรแกรม ซึ่งถ้าเราจัดลำดับผิด ก็อาจจะทำให้โปรแกรมของเราเกิด bug ได้ และบางทีจะทำให้เราหาจุด bug นั้น ๆ ยากด้วย ในบทความก่อนผมได้เสนอตารางตัวดำเนินการทั้งหมดไปแล้ว ซึ่งได้กำกับบอกไว้ด้วยว่าตัวไหนมีลำดับความสำคัญสูงแค่ไหน

เป็นที่แน่นอนอยู่แล้วว่า ลำดับความสำคัญสูงก็จะถูกทำก่อนลำดับความสำคัญต่ำ เราไปดู expression นี้กันครับ เพื่อประกอบคำอธิบาย

  • 2 + 4 * 3

จากด้านบนนั้นถ้าเราลองมาคำนวณกันเองแล้ว ก็คงจะได้หลาย ๆ ค่าแตกต่างกันไป เนื่องจากว่าเราไม่รู้ว่าจะนำตัวไหนมาคำนวณกันก่อนดีใช่ไหมครับ แต่ในตารางในบทความที่แล้วได้กำหนดไว้ว่าลำดับความสำคัญของ Multiply (*) นั้นมากกว่าลำดับความสำคัญของ Addition (+) ซึ่งหมายความว่ามันจะทำการคำนวณ 4 * 3 ก่อน แล้วค่อยนำผลลัพธ์นี้ไปคำนวณกับ 2 อีกที

แต่ถ้าเราไม่อยากปวดหัวกับการกำหนด expression แบบนี้ ซึ่งจะทำให้ยุ่งยากในการจัดลำดับความสำคัญให้มันแล้วละก็ ผมแนะนำให้ใช้วงเล็บ () ในการแบ่งการคำนวณออกจากกัน เช่น

  • (2 + 4) * 3
  • 2 + (4 * 3)

ผู้สนับสนุน