Thắc mắc về ký hiệu trong C

Mọi người cho em hỏi , em có gặp 1 đề như thế này trên mạng. Nó ra đáp án a. Nhưng em không hiểu lắm c = ( c ) dấu ngoặc đơn ở đây có nghĩa là gì… Và cả dấu hỏi chấm sau đó có ý nghĩa gì ạ? Mong mọi người giải đáp. Em cảm ơn
For initialization a = 2, c = 1 the value of a and c after this code will be
c = ( c ) ? a = 0 : 2;
a) a = 0, c = 0;
b) a = 2, c = 2;
c) a = 2, c = 2;
d) a = 1, c = 2;

Đó là Toán tử ternary

Dấu ngoặc trong trường hợp này không quan trọng.
Dấu ngoặc dùng trong tính toán để tăng độ ưu tiên của phép toán, hoặc để gọi hàm. Đối với với 1 giá trị/biến thì có ngoặc hay không thì cũng vẫn là chính nó.

c
((((c))))
(c)
((c))

Như nhau cả.

2 Likes

vậy dấu ? và : ở đây dùng làm gì thế ạ?

và tại sao khi mà có phép toán 9 *(3,2) thì 9 lại chỉ nhân với 2 chứ k nhân với 3 ạ?

Bạn đọc link bạn Phát đưa đã nhé.

1 Like

dạ em cảm ơn…:hugs::hugs::hugs::hugs:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?