01/10/2018, 14:43

Lỗi scanf 2 lần khi dùng hàm nhập mảng bằng con trỏ

Em có đoạn chương trình sau:

void NhapMang(int *a,int n)
{
	
	for (int i = 0; i < n; i++)
	{
		printf("Nhap ptu thu %d: ", i + 1);
		scanf_s("%d ",(a+i));
	}
	
}
int main()
{
	int *a, n;
	printf("nhap so phan tu cua mang
");
	scanf_s("%d", &n);
	a = new int[n];
	NhapMang(a, n);
	delete[] a;
	_getch();
	return 0;
}

khi chạy chương trình, nhập xong a[0] nó bắt nhập tiếp 1 lần nửa rồi mới nhập được a[1]. Chỉ duy nhất a[0] là bị như vậy.

HK boy viết 16:55 ngày 01/10/2018

Bỏ dấu cách bên cạnh “%d” ở dòng scanf đi.

Võ Đức Dân viết 16:57 ngày 01/10/2018

Thanks bác nhé, đúng đắn lắm :))

Bài liên quan
0