Mọi người cho mình hỏi.
Tại sao mình gán (1) được mà không gán (2) được ạ?
int i, a;
/// ...
++i=a; // 1
i++a=a; // 2
Mọi người cho mình hỏi.
Tại sao mình gán (1) được mà không gán (2) được ạ?
int i, a;
/// ...
++i=a; // 1
i++a=a; // 2
Vì ++ sớm nên ++i trả về i ngay. Còn i++ thì phải trả về giá trị rồi mới tăng nên không gán được.
Vì (1) là một biểu thức gán gồm 2 bước: i = a và ++i (phép gán = trả về phần tử ở bên trái)
Còn (2) không phải là biểu thức gán, không thể tách thành dạng đúng cú pháp được.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?