Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Xin giải đáp thắc mắc về bài tập nhập xuất mảng một chiều

    E có một thắc mắc là khi e khai báo hàm nhập và xuất, tại sao phải dùng (int &n) mà không phải (int n), cái dấu & này có ý nghĩ gì. Vì khi e bỏ dấu & thì code lại không chạy được.

    Mã:
    #include "conio.h"
    #include "stdio.h"
    #include "string.h"
    void nhapmang(int a[], int &n)
    	{
    		int i;
    		printf("Nhap vao so phan tu cua mang: ");
    		scanf("%d", &n);
    		for(i=1;i<=n;i++)
    		{
    			printf("
    Moi nhap phan tu thu %d: ",i);
    			scanf("%d", &a[i]);
    		}
    }
    void xuatmang(int a[], int &n)
    	{
    		int i;
    		printf("
    
    
    Mang vua nhap la: ");
    		for(i=1;i<=n;i++)
    			{
    			printf("%5d",a[i]);
    			}
    	}
    void main()
    	{
    		int n;
    		int i;
    		int a[100];
    		nhapmang(a,n);
    		xuatmang(a,n);
    		getch();
    	}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - toán tử & có nghĩa là lấy địa chỉ của biến, ở đầu vào của hàm nếu truyền vào địa chỉ của biến đó thì các câu lệnh gán với biến đó ở trong hàm sẽ thay đổi giá trị của biến đó tại nơi lưu trữ biến ấy => ra khỏi hàm thì giá trị biến vẫn lưu lại các thay đổi đã thực hiện trong hàm.

    - nếu đầu vào của hàm mà viết (int n) thì có thể hiểu là nó khởi tạo 1 biến cục bộ n trong hàm, biến n này được gán giá trị mà bạn truyền cho hàm, các thay đổi giá trị của n trong thân hàm chỉ tác động tới biến cục bộ kia, giá trị của biến gốc vẫn không thay đổi => ví dụ thế này:

    void ABC(int n)
    { n =5; }

    void main()
    {

    int x =1;
    ABC(x);
    printf(" x = %d ",x);
    }

    ======> hàm này in ra x= 1;, vì nó trong hàm ABC nó tạo 1 biến n = x (=1), sau đó gán lại n =5; sau đó thoát khỏi hàm thì n là biến local nên bị hủy, ko có câu lệnh nào làm thay đổi giá trị của x cả nên x vẫn là 1. Bạn tham khảo thêm phần tham trị, tham biến, cơ mà đọc sách thấy khó hiểu lắm. Cứ hiểu đấy là quy tắc ngữ pháp thôi.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •