Tại sao ++a ra 13?

int  a =10 , b;
b= a++ + ++a; 
printf("%d, %d, %d, %d", b, a++ , a, ++a );

ĐÁP ÁN: 22, 13, 13, 13
Em thắc mắc sao output ++a lại là 13 mà ko phải 14 ạ?

Đoạn code này bị undefined behavior rồi bạn. Hẳn 2 dòng luôn.


Trên DNH đã có nhiều topic về vấn đề này rồi:

https://daynhauhoc.com/search?q=undefined%20behavior

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