01/10/2018, 11:40
Bài toán nhập xuất một mảng bình thường
một bài toán tưởng như khá đơn giản nhưng lâu k động đến, đây có thể là một lỗ hổng kiến thức khá lớn: hàm nhập thì vẫn thực hiện bình thường, nhưng lại không xuất ra được. mọi người chỉ ra lỗi sai cho mình với đồng thời hãy thứ lỗi cho sự ngu dốt của mình, mình nhất định sẽ tự trừng phạt mình vì điều đó
> #include
using namespace std; int i; void nhap(int a[],int n){ cout<< "nhap so ptu: n= ";cin>>n; cout<< "nhap cac ptu: "; for(i=0;i<n;i++){ cin>>a[i]; } } void xuat(int a[],int n){ cout<< "mang vua nhap la: "; for(i=0;i<n;i++){ cout<<a[i]<< " "; } } int main() { int a[50],n; nhap(a,n); xuat(a,n); return 0; }
Bài liên quan
n
ở mỗi hàm là khác nhau. Hếtvậy là sao. bạn chỉ rõ được không, mình tưởng n dùng chung cho 2 hàm mà
Mỗi hàm, cứ in một cái
n
ra là hiểu vấn đề.ak. t biết rồi. nghĩa là phải khai báo n ở hàm main. nhưng t thắc mắc là: tại sao không cần khai báo mảng a[] ở hàm main, mà hàm xuat vẫn xuất được
Mảng cũng là một con trỏ. Bạn hỏi vậy là hiểu bạn học không kĩ rồi. Hổng cái nào như cái core concept thế này thì. Từ khóa mình bôi đen rồi, tìm hiểu thêm
bạn giải thích rõ giúp mình đc ko. mình biết con trỏ , con trỏ mảng, con trỏ hàm, cách khai báo con trỏ rồi. nhưng mình không biết tại sao biến mảng có thể khai báo ở một hàm và lưu giữ giá trị từ hàm này qua hàm khác, trong khi đó biến thường thì phải khai báo qua hàm main. Nếu bạn biết thì giúp mình, mình rất cảm ơn.
Muốn biết thì cứ in cái mảng ra là hiểu. Thay vì
a[0], a[1], a[2]
thì làa, a + 1, a + 2
a[] của main và a[] của mấy hàm đó là khác nhau, do bạn đặt trùng tên mà thôi.
a[] nằm ngay trên khai báo hàm chỉ là hình thức, là cái slot để bạn truyền a[] bên ngoài vào. Thực ra trường hợp của a[] không khác mấy của n vì cùng là tham trị. Nhưng do a[] tự động suy biến thành con trỏ cấp 1 nên có thể xem toàn bộ nội dung của a[] đều truyền qua “reference” a[].
cái này bạn có tham khảo ở đâu ko. cho mình nguồn để tham khảo với
Cái này C++ giữ nguyên từ C:
Cách Học – 13 Dec 14
Bài 9: Mảng trong C
Mảng Là tập hợp các phần tử có cùng kiểu dữ liệu. Mảng có mảng 1 chiều, 2 chiều,… và mỗi kiểu dữ liệu thì có 1 kiểu mảng tương ứng (mảng nguyên, mảng thực, mảng ký tự (chuỗi)),… Ta chủ yếu xét về mảng 1 chiều và mảng 2 chiều
Bài 12: Mối quan hệ giữa con trỏ và mảng, chuỗi ký tự trong C
Mảng và con trỏ có mối quan hệ cực ký mật thiết với nhau. Bài viết này sẽ giúp các bạn hiểu thêm được phần nào mối quan hệ đó.