Lỗi khi sử dụng phép tăng 1 giảm 1 trong C++

Mn cho e hỏi sao khi e nhập đoan code này thì chương trình chạy bt nhưng bị lỗi kết quả. cụ thể là ct in ra số nguyên tăng 1 là chính nó, còn số nguyên giảm 1 lại bị cộng thêm 1.TH này là sao vậy ạ?
std::cout << "\nso nguyen tang 1 la " << so_nguyen ++;
std::cout << "\nso nguyen giam 1 la " << so_nguyen --;

Thì đúng vậy rồi bạn còn muốn sao nữa nhỉ? =))

2 Likes

bạn đọc lại tại cpp.dayhauhoc.com nhé
toán tử ++ đặc sau biến ví dụ x++; thì hết câu lệnh, nghĩa là sau dấu ; thì nó mới thực hiện.
toán tử ++ đặc trước biến ví dụ ++x; thì thực hiện “ngay và luôn”
bạn chạy lại đoạn code này:

std::cout << "\nso nguyen tang 1 (nhung chua tang) la " << so_nguyen ++;
std::cout << "\nso nguyen tang 1 (da tang) la " << so_nguyen ;
std::cout << "\nso nguyen giam 1 (nhung chua giam) la " << so_nguyen --;
std::cout << "\nso nguyen giam 1 (da giam) la " << so_nguyen;

đoạn code 2:

std::cout << "\nso nguyen tang 1 la " << ++so_nguyen;
std::cout << "\nso nguyen giam 1 la " << --so_nguyen;
3 Likes

ok hỉu phương thức hoạt động của nó rồi. Do mình đặt ngược :joy:

thanks bác :)). e hỉu rồi

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