Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Cho mình hỏi :
int a = 5;
Console.WriteLine(a++);
tại sao ra kết quả k phải bằng 6 vậy, với lại cho mình hỏi dấu ++ nằm trước và sau có ý nghĩa gì mình tham khảo nhiều mà vẫn còn mơ hồ quá , mình cám ơn :D.
a++ thực hiện phép tính sau đó mới cộng thêm 1.
++a là cộng thêm 1 sau đó mới thực hiện phép tình.
a++ : cộng sau khi gọi
++a: cộng trước
Nó ra bằng 5 vì a++ là hậu tố nên nó sẽ xuất ra a trước rồi mới đem +1. Bạn có thể xuất a 2 làn liên tiếp là thấy được à. Còn ++a thì nó là tiền tố, áp dụng vào cái câu lệnh cú bạn thì nó sẽ +1 trước rồi mới xuất ra. Bạn có thể chạy thử là hiểu ý mà
tức là thế này cả a++ và ++a thì sau khi code đi qua a sẽ đc tăng thêm 1 đơn vị, sự khác nhau đó là a++ thì nó tăng lên 1 đơn vị rồi trả về giá trị cho bạn, ở đây 5 nó tăng lên 1 thành 6 rồi trả về giá trị 6.
Còn ++a thì nó nhả giá trị trước rồi nó mới thực hiện phép cộng sau cho nên cw(++a) vẫn ra 5
lện mạng tìm hiểu độ ưu tiên toán tử nha bạn. còn giải thích thì có bạn kia giải thích rồi