01/10/2018, 14:45
Về sử dụng con trỏ và mảng 1 chiều cấp phát động
Tại sao em chạy code này toàn bị break vậy các bác. em k biết vì sao lỗi nữa @@
void NhapMang(int *a, int &n)
{
do
{
printf("Nhap so phan tu cua mang:");
scanf_s("%d", &n);
}
while (n < 1 || n > 10000);
for (int i = 0; i < n; i++)
{
printf("a[%d]=", i);
scanf_s("%d", &a[i]);
}
}
void XuatMang(int *a, int n)
{
printf("
");
for (int i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int *a;
int n=0;
a = new int;
NhapMang(a, n);
XuatMang(a, n);
delete a;
return 0;
}
Bài liên quan
Sai ở đây nhé.
Bạn cấp phát cho nó 1 ô thì sao mà truy cập được.
sửa thế nào hả bác? e sửa thành a=new int[n] cũng không được bác à
đặt nó vào trong
NhapMang
void NhapMang(int *a, int &n)
{
do
{
printf(“Nhap so phan tu cua mang:”);
scanf_s("%d", &n);
}
while (n < 1 || n > 10000);
a = new int[n];
for (int i = 0; i < n; i++)
{
printf(“a[%d]=”, i);
scanf_s("%d", &a[i]);
}
}
void XuatMang(int *a, int n)
{
printf("\n");
for (int i = 0; i < n; i++)
{
printf("%d\t", a[i]);
}
int _tmain(int argc, _TCHAR* argv[])
{
int n = 0;
int *a=new int[n];
NhapMang(a, n);
XuatMang(a, n);
delete a;
return 0;
}
Kết quả ra toàn giá trị rác bác ơi