Dưới đây là code của mình, lúc mình compile thì nó chạy lặp vô tận. M.n xem giúp mình vớiii

Dưới đây là code của mình, lúc mình compile thì nó chạy lặp vô tận. M.n xem giúp mình vớiii

void *thr(void *n) {
for (int i = 2; i <= (long)n) {
...
}
}
n là con trỏ, số có vẻ khá lớn đó bạn. 
Chắc ý bạn là *(long*)n.
Chỗ con trỏ n đó lúc đầu không so sánh được với i
Mình ép kiểu int cho nó nhưng lỗi, sau đó mình ép long thì được
Ép về long là không đúng rồi.
n là con trỏ, phải ép về long* rồi lấy giá trị qua * mới đúng chứ.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?