Mang đến cho bạn hành trang là Kiến thức và Kinh nghiệm

Lựa chọn chủ đề bạn quan tâm

Cùng nhau thảo luận về các vấn đề

Hãy theo dõi chúng tôi nếu bạn thấy bổ ích

  1. Hỏi đáp IT
  2. Hỏi nhanh

Thắc mắc về toán tử điều kiện

246 Lượt xem 12 Bình luận 0 Lượt báo xấu
Em vừa vào nhập môn lập trình đến phần toán tử điều kiện thì có dòng code này:
int a=2, b=3;
int m = a++ > b-- ? -a : b++;
cout << m << endl;
đến đoạn này nếu như in ra m thi sẽ in ra m = -a = -2 chứ ạ nhưng sao lại ra 2.
Mong mn giúp em.
Câu trả lời

- Bạn đã sẵn sàng thảo luận về chủ đề này. Hãy bấm "Viết bình luận", bạn có thể lựa chọn sử dụng tài khoản Facebook hoặc Google++

- Vì sự phát triển của cộng đồng CNTT/CNPM tại Việt Nam!

Unknown user
No responses yet

Viết code cho nó sáng sủa vào, ngắn được một dòng khổ người đọc.
int a = 2, b = 3;
	int m = a++;//int m = a; a += 1; => m = 2
	if (m > b)
		-a;
	else
		b++;
Còn nếu là mình thì mình không bao giờ dùng toán tử ++, đối với mình nó thật là thảm hoạ
0 Lượt thích

@Đại Quang:
int m = a++;//int m = a; a += 1; => m = 2
m = a++ là a tăng lên 1 giá trị sao m vẫn bằng 2 được ạ
0 Lượt thích

Tự search Google đi em.
À, anh cho từ khoá gợi ý nhé: "a++ và ++a"
0 Lượt thích

dấu = phép gán gần như là thứ tự ưu tiên cuối cùng, đâu thể làm từ trái sang phải dc.
a ++ > b -- false return b++
m = b++ => m : 2
0 Lượt thích

Tính ra 2 > 3 (FALSE) và sequence point ngay dấu ?, ngay đó b bằng 2. b++ là nhánh FALSE nên m = 2 là chuẩn.
Thớt về xem lại op ++ trước và sau.

0 Lượt thích

m = a luôn là cái dấu trừ trước a nó ko có tác dụng gì ạ.
em chậm tiêu quá nên kiếm phần này đọc mà vẫn chưa hiểu lắm

0 Lượt thích

-a đó chỉ là giá trị mà thôi, không thay đổi biến như ++ với --.
0 Lượt thích

e tưởng nó xuất -a thành -2
0 Lượt thích

Nó nằm bên nhánh TRUE
0 Lượt thích

Thì em biết nó là nhánh true mà ạ.
Em hiểu thế này ko biết sai chô nào

a++ > b-- ? -a : b++ 
3 > 2 ? -2 : 4

vì 3 > 2 nên nó xuất ra -2

0 Lượt thích

a++ trả về ngay giá trị trước khi +1, tương tự với b--.
p/s: "xuất ra" là thừa một chữ
0 Lượt thích

Em hiểu rồi! Cảm ơn các anh ạ!
0 Lượt thích

Từ khóa tìm kiếm

Câu trả lời mới nhất

Tin tuyển dụng