Theo Mức độ ưu tiên của toán tử , toán tử dấu phẩy có mức độ ưu tiên thấp hơn operator=, do đó, x = 2,3;tương đương với (x = 2),3;. (Mức độ ưu tiên của toán tử xác định cách toán tử sẽ bị ràng buộc với các đối số của nó, chặt hơn hoặc lỏng hơn so với các toán tử khác theo các ưu tiên của chúng.)
Lưu ý rằng biểu thức dấu phẩy (x = 2),3ở đây, không phải 2,3. x = 2được đánh giá lúc đầu (và các tác dụng phụ của nó được hoàn thành), sau đó kết quả bị loại bỏ, sau đó 3được đánh giá (trên thực tế nó không làm gì cả). Đó là lý do tại sao giá trị của xlà 2. Lưu ý rằng đó 3là kết quả của toàn bộ biểu thức dấu phẩy (tức là x = 2,3), nó sẽ không được sử dụng để gán cho x. (Thay đổi nó thành x = (2,3);, xsẽ được chỉ định với 3.)
Đối với return 2,3;, khái niệm dấu phẩy là 2,3, 2được đánh giá thì kết quả của nó được loại bỏ, và sau đó 3được đánh giá và trở về như là kết quả của biểu thức dấu phẩy toàn bộ, mà được trả về bởi lệnh return sau.
Thông tin bổ sung về Biểu thức và Tuyên bố
Một biểu thức là một chuỗi các toán tử và toán hạng của chúng, chỉ định một phép tính.
x = 2,3;là câu lệnh biểu thức , x = 2,3là biểu thức ở đây.
Biểu thức được theo sau bởi dấu chấm phẩy là một câu lệnh.
Cú pháp: attr(optional) expression(optional) ; (1)
return 2,3;là câu lệnh nhảy ( câu lệnh trả về ), 2,3là biểu thức ở đây.
Cú pháp: attr(optional) return expression(optional) ; (1)