void Nhapdl(int &n) {
fflush(stdin);
std::cout << "Nhap n: ";
std::cin >> n;
if (n <= 0) {
std::cout << "SO KHONG HOP LE\n";
Nhapdl(n);
}
}
Hàm chạy vô tận khi gọi đệ quy
Cho mình hỏi là tại sao khi nhập vào là 1 ký tự không phải số thì chương trình chạy vô tận mà không dừng lại để nhập số khác ?
Bạn sửa lại thành thế này để biến n nó giảm dần về 0, khi n còn lớn hơn 0 thì khối lệnh trong if còn được thực hiện.
Nhapdl(n-1);
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?