Đoạn code bị trôi lệnh mặc dù đã dùng fflush(stdin)

doan code nay mặc dù em đã dùng fflush(stdin) nhưng vẫn bị trôi lệnh ạ??? Cho em hỏi tại sao , em dùng visual studio 2015.

void nhap(struct nhanvien NV[], int &N)
{
	int i;
	printf("Nhap tong so: ");
	scanf("%d", &N);
	fflush(stdin);
	for (i = 0; i<N; i++)
	{
		fflush(stdin);
		printf("Nhap nguoi thu %d\n", i + 1);
		printf("Nhap ho ten: ");
		gets_s(NV[i].hoten);
		printf("\nNhap phuong: ");
		gets_s(NV[i].phuong);
		printf("\nNhap quan: ");
		gets_s(NV[i].quan);
		printf("\nNhap nam sinh: ");
		scanf("%d", &NV[i].namsinh);
		fflush(stdin);
		printf("\nNhap gioi tinh : ");
		gets_s(NV[i].gt);
		printf("\nNhap nghe nghiep: ");
		gets_s(NV[i].nghe);
	}
}

Ở VS2015 fflush(stdin) vô hiệu rồi bạn :slight_smile: thực ra câu này đã ko đúng chuẩn C rồi. Giờ chỉ có chạy for getchar thôi.

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