cho mình hỏi sao code này ko cho ra kết quả là 4 nhỉ?
Hỏi bài về code c++
thay bằng b = ++a;
Giải thích
a++ tương đương với
int output=a;
a+=1;
return output;
++a tương đương với
int output;
a+=1;
output=a;
return output;
Chú ý là cả 2 operator đều return giá trị của ô nhớ tạm chứ không phải a trước hay sau khi cộng. Giải thích rõ hơn ở http://stackoverflow.com/questions/3346450/what-is-the-difference-between-i-and-i (Câu trả lời được nhiều upvote nhất chứ không phải câu được đánh dấu tick)
tại sao vậy bạn, theo cú pháp thì có thể dùng a++ mà
Nói chung là mình không bao giờ dùng b = ++a hay gì đó đại loại thế, khó đọc, dễ nhầm. Mình thường viết là a += 1; b = a (a += 1 nhanh hơn a = a + 1 tí ti, bạn có thể tự search Google)
vậy ++a thì a = a +1, a++ thì a = a . Vậy thì người ta chia ra ++a với a++ để làm gì bạn
b=++a => b=a+1; a=a+1;
b=a++=> b=a; a=a+1;
Đây là cú pháp của C, không có khác biệt khi không có biến bên trái nhưng sự khác nhau bạn đã nhìn ra khi b xuất hiện.
cảm ơn các bạn. thuật toán thật vi diệu. Làm thế nào mà người ta nghĩ ra được 1 ngôn ngữ hay như c++ nhỉ ?

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