Vâng em cảm ơn anh ạ, tạm em đang bắt đầu học C++ do có việc bận nên chưa có thời gian ạ
Hàm fflush(stdin) dùng để làm gì?
cơ mà anh không có fflush(stdin) thì nó vẫn bỏ qua đó thôi
#include
#include <stdio.h>
int main()
{
int a,b=0,c;
std::cin >> a;
fflush(stdin);
std::cin >> c;
std::cout << a << b << c;
return 0;
} //em làm theo lời anh bỏ fflush(stdin) nhập lại "1 2 " và “3” thì vẫn như lúc có fflush(stdin) đấy thôi … chả hiểu cái chỗ này luôn ^^ nghe rất nhiều thầy cô nói rồi nhưng em không biết là thầy cô có hiểu thật sự hay là không hiểu … ??! rất mong anh có 1 bài giải đáp tường tận về vấn đề này
Nhập toàn số thì không cần. Với lại lệnh này là sai.
Em nghĩ là '\n' khác 'g' anh ơi :slight_smile:
Anh ơi lệnh nào là đúng ạ ?
Thực ra lệnh flush sinh ra để ghi chứ không phải để đọc và VS cũng bỏ luôn rồi. Bạn sẽ dùng getchar() để lấy bớt kí tự ‘\n’.
// Lấy '\n' từ stdin (bộ đệm)
char x = getchar();
// Nhập lại cho biến x
scanf("%c", &x);
Trong VS dùng std::cin.ignore(256, ‘\n’); đúng không ạ ?
C++ thì đúng nhưng nên hiểu câu đó là “bỏ qua 256 kí tự ‘\n’”.
Có nghĩa là “Bỏ qua 256 lần ký tự \n” phải không ạ