int x = 5 + 2;
กับ
int x = (5 + 2);
ต่างกันมั้ย?
วงเล็บในภาษาซีใช้ได้สองอย่าง
อย่างแรกคือทำการแบ่งลำดับการคำนวน เช่น 6 + (5 / 2) คือให้ทำ 5 / 2 ก่อน แล้วค่อยบวกกะ 6
อย่างที่สอง คือเอาไว้กั้นเขตแดนของ parameter ใน function
แต่ return ไม่ใช่ฟังก์ชั่น ดังนั้นหน้าที่ของวงเล็บจึงเป็นหน้าที่แรก ซึ่ง compiler จะ compile ในวงเล็บก่อน ... มันก็เป็นเช่นนั้นแล