01/10/2018, 13:25

Compiler trong C

Chào mọi người mình đang có 1 thắc mắc nhỏ về compiler của c.

IDE được dùng ở đấy là Dev C ++ 4.9.1

Câu hỏi:
int x = 20, y = 35;
x = y ++ + x++;
y = ++y + ++x;
printf("%d %d",x,y);

Kết quả trên 2 compiler 64bit - debug và 32bit - debug là 2 kết quả khác nhau cụ thể như sau:
32bit : 57 94
64bit: 56 93
Mọi người có thể giải thích giúp mình được không ạ?

Tên Gì Cũng Được viết 15:32 ngày 01/10/2018

x = y ++ + x++;

sau lại có dấu cách ở y ++ vậy?

Tao Không Ngu. viết 15:41 ngày 01/10/2018

Hi Viet Anh Duong.
Không nhầm thì các biểu thức kiểu này không có quy ước về thứ tự phép toán. Tùy trình biên dịch có cách quy ước khác nhau.

Viet Anh Duong viết 15:26 ngày 01/10/2018

Không sao bạn ạ. Có dấu cách ở dữa y ++ thì complier vẫn hiểu là y++

Bài liên quan
0