01/10/2018, 17:24

Code về các phép toán trên int và double không đúng như trên clip

Em có thực hiện các dòng code theo clip “các phép toán trên int và double”
Nhưng kết quả nó lại không đúng như theo clip,
Mong các bạn giải thích cho em với ạ


Ở đây số nguyên và số thực nó ko hiện lại số ban đâu nữa ( ở ngay phần đầu ạ)
Xin cảm ơn.

rogp10 viết 19:25 ngày 01/10/2018

Undefined behavior

Nguyên một dây cout >> như vậy không có chỗ nào là sequence point, mà trong đó lại có (songuyen += 3) với sothuc *= 3 nữa là toi. (C++14 mới hạn chế mỗi >> là 1 point). Chỗ này rất khó hiểu

Sequence point là nơi mà các biểu thức trước nó phải chấm dứt việc tính kết quả và thực hiện side effect. Giữa hai điểm này, các biểu thức có thứ tự tính toán và thực hiện side effect độc lập và (có thể) xen kẽ hay cùng chạy với nhau. Vì vậy, vừa thay đổi vừa lấy giá trị, hoặc thay đổi quá một lần là không được.

S Own Hà viết 19:37 ngày 01/10/2018

Cảm ơn anh, mình đã hiểu.

Bài liên quan
0