01/10/2018, 10:35

Hỏi về hàm fflush(stdin) trong C

Tình hình là mình viết code mà đến chỗ nhập chuỗi thứ nhất tự nhiên nó bỏ qua luôn, mình dùng 1 cái hàm fflush(stdin) nhưng nó vẫn bị, mình dùng 2 cái fflush nó vẫn bị, mọi người giúp mình cái, mình bó tay rồi, cảm ơn mọi người.

// ConsoleApplication2.cpp : Defines the entry point for the console application.
//

#include "stdio.h"
#include "string.h"

#define SI_SO_MAX 50
#define HO_TEN_MAX 30

int main()

{
	char ds[SI_SO_MAX][HO_TEN_MAX];
	char *p[SI_SO_MAX];
	char *tmp;
	int i, j, n;
	do {
		printf("Nhap si so lop: ");
		scanf("%d", &n);
		fflush(stdin);
		fflush(stdin);
	} while (n<1 || n>SI_SO_MAX);
	for (i = 0; i < n; i++)
	{
		printf("Hoc vien thu %d", i);
		gets_s(ds[i]);
		p[i] = ds[i];
	}
	for (i = 0; i < n - 1; i++)
	{
		for (j = i + i; j < n; j++)
		{
			if (strcmp(p[i], p[j]) > 0)
			{
				tmp = p[i];
				p[i] = p[j];
				p[j] = tmp;
			}
		}
	}
	printf("Danh sach lop sau khi sap xep:
");
	for (i = 0; i < n; i++)
	{
		printf("s
", p[i]);
	}
	printf("
");
	getchar();
	return 0;
}

Henry viết 12:42 ngày 01/10/2018

Đừng dùng fflush. Nó không ảnh hưởng tới input đâu.
Thay thế bằng getchar hay cái gì khác đi

Vinh Nguyễn viết 12:50 ngày 01/10/2018

mình chịu getchar thì nó báo lỗi.

Henry viết 12:48 ngày 01/10/2018

Tại vì bạn chưa khai báo thu viện.

#include <stdlib.h>
Vinh Nguyễn viết 12:37 ngày 01/10/2018

nó vẫn báo lỗi nè

Henry viết 12:50 ngày 01/10/2018

Ý mình là dùng getchar để lấy cái \n đi sau khi scanf. Chỉ đơn giản là getchar();

Vinh Nguyễn viết 12:37 ngày 01/10/2018

tks bạn nha, mình đang cài lai VS 2013 , bản 2017 nhiều cái thay đổi quá.

Henry viết 12:35 ngày 01/10/2018

Hình như bản nào cũng vậy. Nhưng mà ai đời lại cài cái bản cũ code theo phong cách cũ chứ.

Vinh Nguyễn viết 12:51 ngày 01/10/2018

tại vì mình đang học C/C++ ở trên trường cũng như trung tâm người ta đều dùng bản cũ, mình sợ chưa đủ trình độ mà dùng bản mới này sợ lạc đường

Dark.Hades viết 12:46 ngày 01/10/2018

Cứ theo nơi mình học họ cài thế nào mình cài như vậy.

Bản 2013 khá ổn định với update 5

Vinh Nguyễn viết 12:49 ngày 01/10/2018

mình cũng dùng bản 2013 1 thời gian, vẫn dùng bình thường, tự nhiên qua 2017 nó bị lỗi đủ thứ.

Vinh Nguyễn viết 12:39 ngày 01/10/2018

cho mình xin cai link tải bản 2013 trên microsoft được không, mình tìm toàn thấy 17 với 15, cảm ơn bạn

Dark.Hades viết 12:38 ngày 01/10/2018

Đây bạn:

https://www.visualstudio.com/vs/older-downloads/

Vinh Nguyễn viết 12:49 ngày 01/10/2018

cảm ơn bạn đã giúp đỡ

Bài liên quan
0