Biểu thức toán tử trong C?

Ai giải thích giúp em biểu thức a4 với a5 được không ạ?

int m=3,p=5;
int a1,a2,a3,a4,a5;
printf(“Tim gia tri gan cho cac bien”);
a1 = m<p;
a2 = m == p;
a3 = p%m + p>m;
a4 = m*(p>m ? m:p);
a5 = m*(p<m ? p:p);
printf("\n a1 = %d “,a1);
printf(”\n a2 = %d “,a2);
printf(”\n a3 = %d “,a3);
printf(”\n a4 = %d “,a4);
printf(”\n a5 = %d ",a5);

2 topic này sẽ giúp bạn

Giúp minh giải bài tập C với
Giải thích đoạn mã về toán tử điều kiện

2 Likes

anh có thể giải thích cho em cái toán tử này k: d=a== (b=c);
1 biểu thức toán tử được đọc từ phải sang trái hay trái sang phải?

Bạn cứ vào đây coi là đc
http://en.cppreference.com/w/cpp/language/operator_precedence

Dựa vào đó ta thấy dấu = thì có thứ tự thực hiện từ phải sang trái
-> nó sẽ thực hiện cái a == (b = c) trước
Từ đây ta áp dụng quy tắc hồi mẫu giáo được học là ra. Cái gì trong ngoặc tính trước rồi tính ra ngoài
-> gán b = c
Sau đó đem b so sánh bằng với a (a == b)
Cuối cùng là đem kq vừa so sánh được gán vào d

3 Likes

Lúc mới học thì né mấy cái kiểu code này ra đi, nó gây khó hiểu thôi, khi nào nắm rõ được C/C++ thì hãy dùng theo cách này

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