01/10/2018, 00:37

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(" a1 = %d “,a1);
printf(” a2 = %d “,a2);
printf(” a3 = %d “,a3);
printf(” a4 = %d “,a4);
printf(” a5 = %d ",a5);

*grab popcorn* viết 02:44 ngày 01/10/2018

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

Phan Vũ viết 02:37 ngày 01/10/2018

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?

*grab popcorn* viết 02:39 ngày 01/10/2018

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

Nguyễn Xuân Phúc viết 02:52 ngày 01/10/2018

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

Bài liên quan
0