Thắc mắc về mảng trong ngôn ngữ C

Em cho nhập vào n là độ dài của mảng sau đó em tạo mảng với độ dài n

Nhưng khi em cho nhập giá trị mang[i] thì mang[i] đó lại hiện ra màn hình giá trị rác, vậy có cách khai báo nào để mang[i] đó tăng dần đều hay không?

Đây là hình chụp mảng giá trị rác

printf("nhap gia tri phan tu thu %d ", i);

1 Like

int mang[n] khai báo mảng có n phần tử. nên chỉ số từ 0->n-1. bạn truy cập đến index=n sẽ bị lỗi bộ nhớ

2 Likes

Thông thường trong 1 chương trình C không nên dùng một biến để biểu diễn kích thước cho mảng.
Bạn có thể khai báo Hằng (#define) trước rồi dùng Hằng đó hì đc:
VD:

int n;
int array[n];

thì không nên, mà

#denine N 100;
int aray[N];

thì được

trong trường hợp trên bạn có thể khai bao trước 1 mảng thật rộng (default cứ 1000 cho nó thoáng).

1 Like

Em cảm ơn :smiley: :smiley:

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