Trong C/C++, dấu phẩy , dùng cho nhiều mục đích.
1. Toán tử phẩy (Comma Operator)
Toán tử nhị phân: đánh giá toán hạng 1, bỏ kết quả, đánh giá toán hạng 2, trả về giá trị toán hạng 2. Độ ưu tiên thấp nhất.
Ví dụ
#include <stdio.h>
int main() {
int x = (50, 60); // x = 60
int y = (func1(), func2()); // func1() chạy trước, func2() chạy sau, y = kết quả func2()
return 0;
}
2. Dấu phân tách (Comma as Separator)
Trong gọi hàm hoặc định nghĩa, đóng vai phân tách. Khác với toán tử phẩy. Khi dùng làm phân tách, tất cả mục được dùng; toán tử chỉ lấy cái cuối.
Ví dụ
#include <stdio.h>
int main() {
int x = 5, y = 10; // khai báo nhiều biến
void function(x, y); // truyền 2 tham số
return 0;
}
Chương trình minh họa toán tử phẩy:
Ví dụ
#include <stdio.h>
int main() {
int a = 50;
int b = (a++, ++a);
printf("%d", b);
return 0;
}
Kết quả
52