Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Mảng là tham số truyền vào hàm?

  1. #1
    Ngày gia nhập
    01 2013
    Bài viết
    2

    Mặc định Mảng là tham số truyền vào hàm?

    Mọi người xem câu này giùm minh.
    Câu 1:
    Code:
    Mảng khi là tham số truyền cho hàm, được truyền theo
    a.	Tham trị.
    b.	Tham biến.
    c.	Cả tham trị và tham biến.
    Tiện cho mình hỏi ví dụ
    Code:
    void sap_xep(int a[], int n)
    mảng ở đây đc truyền vào theo tham biến phải không?
    Câu 2:
    Code:
    Câu lệnh nào sau đây là đúng khi sử dụng để gán ký tự ‘W’ cho biến ký tự được trỏ bởi biến con trỏ ký tự letter?
    a)      'W' = *letter;
    b)      letter = "W";
    c)      letter = *W;
    d)      *letter = 'W';
    Mình nghỉ câu này D đúng nhưng khi thử chương trình này C báo lỗi:
    Code:
    #include<stdio.h>
    #include<conio.h>
    main()
    {     char a,*ch;
          
          
          *ch=&a;
          *ch='w';
          printf("%c",a);
          getch();
    }
    Đã được chỉnh sửa lần cuối bởi PX5-RT : 21-01-2013 lúc 02:17 PM.

  2. #2
    Ngày gia nhập
    01 2013
    Bài viết
    2

    mọi người giúp mình phát

  3. #3
    Ngày gia nhập
    02 2012
    Nơi ở
    hà nội
    Bài viết
    58

    Trích dẫn Nguyên bản được gửi bởi PX5-RT Xem bài viết
    Mọi người xem câu này giùm minh.
    Câu 1:
    Code:
    Mảng khi là tham số truyền cho hàm, được truyền theo
    a.	Tham trị.
    b.	Tham biến.
    c.	Cả tham trị và tham biến.
    Tiện cho mình hỏi ví dụ
    Code:
    void sap_xep(int a[], int n)
    mảng ở đây đc truyền vào theo tham biến phải không?
    Câu 2:
    Code:
    Câu lệnh nào sau đây là đúng khi sử dụng để gán ký tự ‘W’ cho biến ký tự được trỏ bởi biến con trỏ ký tự letter?
    a)      'W' = *letter;
    b)      letter = "W";
    c)      letter = *W;
    d)      *letter = 'W';
    Mình nghỉ câu này D đúng nhưng khi thử chương trình này C báo lỗi:
    Code:
    #include<stdio.h>
    #include<conio.h>
    main()
    {     char a,*ch;
          
          
          *ch=&a;
          *ch='w';
          printf("%c",a);
          getch();
    }
    câu 1. Truyền theo kiểu tham trị, vì mảng a[] là một con trỏ hằng có chức năng trỏ vào địa chỉ của từng biến để lấy giá trị.
    câu 2. đáp án là c. một biến letter gán giá trị của con trỏ *w
    + Quách Việt Kiên
    + Yahoo: Kaka_8x_vn
    + skype: kiencuongno1
    + Gmail: kiencuongno1@gmail.com
    Ai có thể free cho mình 50k thẻ điện thoại ko.

  4. #4
    Ngày gia nhập
    11 2012
    Bài viết
    136

    Trích dẫn Nguyên bản được gửi bởi kienquach Xem bài viết
    câu 1. Truyền theo kiểu tham trị, vì mảng a[] là một con trỏ hằng có chức năng trỏ vào địa chỉ của từng biến để lấy giá trị.
    câu 2. đáp án là c. một biến letter gán giá trị của con trỏ *w
    bạn bảo a[] là một con trỏ giả sử mà mình có khai báo như sau
    C Code:
    1. int a[7], *b;
    2. b = a[]; //hóa ra lại là đúng à??
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

  5. #5
    Ngày gia nhập
    02 2012
    Nơi ở
    hà nội
    Bài viết
    58

    Trích dẫn Nguyên bản được gửi bởi kimcy1992 Xem bài viết
    bạn bảo a[] là một con trỏ giả sử mà mình có khai báo như sau
    C Code:
    1. int a[7], *b;
    2. b = a[]; //hóa ra lại là đúng à??
    sao c lại hiểu như thế nhỉ. //vì mảng a[] là một con trỏ hằng
    D Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. main()
    4. {     int *ch,a[]={1,2,3,4};
    5.       ch=a;
    6.       for(int i=0;i<4;i++)
    7.       printf("%d",ch[i]);
    8.       getch();
    9. }
    + Quách Việt Kiên
    + Yahoo: Kaka_8x_vn
    + skype: kiencuongno1
    + Gmail: kiencuongno1@gmail.com
    Ai có thể free cho mình 50k thẻ điện thoại ko.

  6. #6
    Ngày gia nhập
    11 2012
    Bài viết
    136

    Mặc định Mảng là tham số truyền vào hàm?

    Trích dẫn Nguyên bản được gửi bởi kienquach Xem bài viết
    sao c lại hiểu như thế nhỉ. //vì mảng a[] là một con trỏ hằng
    D Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. main()
    4. {     int *ch,a[]={1,2,3,4};
    5.       ch=a;
    6.       for(int i=0;i<4;i++)
    7.       printf("%d",ch[i]);
    8.       getch();
    9. }
    Cái đấy mình hiểu, tại trước có tranh luận vấn đề này với cô giáo rồi mình bảo nó là con trỏ cô thì bảo không nếu là thì nó phải tương đương nhau(theo mình hiểu nó tương đương trong trường hợp nó là tham số hình thức của hàm mà thôi, nhưng thực ra nó cũng như là một mảng chưa biết trước phần tử do vậy mà ở đây a[] là mảng còn a vẫn là con trỏ, cũng như a[7] chẳng hạn khi nó làm tham số hình thức), thì mới đem lên một lần nữa, còn thật ra trong tiếng anh nó phân biệt một con trỏ là hằng số(Constant-Pointers) như trong trường là mảng thì tên mảng là một hằng con trỏ do vậy nó sẽ không thay đổi được giá trị của nó là trỏ tới phần tử đầu tiên của mảng, còn một con trỏ nữa(mình tạm gọi là trường hợp 2) thường gọi là con trỏ trỏ tới hằng(Pointers-to-Constants.) thì là một con trỏ chỉ có thể đọc dữ liệu mà nó trỏ tới mà không có quyền thay đổi giá trị mà nó trỏ tới.
    C Code:
    1.     int b[5];
    2.     int *const a = b;// TH1 :bắt buộc phải khởi tạo ngay từ đầu
    3.     int const *c;//TH2 con tro tro toi mot hang
    Tại mình thấy từ bạn dùng nó lạ quá mình nghĩ nó không chính xác nên mới hỏi vậy thôi bạn có thông tin gì về a[] gửi cho mình xem với, chứ cái này trong topic con trỏ anh quang langman cũng đã nói nhưng dùng từ nó chả phân biệt rõ ràng được bao nhiêu.
    ban có thể xem qua http://www.codeguru.com/cpp/cpp/cpp_...-Constants.htm
    Đã được chỉnh sửa lần cuối bởi kimcy1992 : 21-01-2013 lúc 10:20 PM. Lý do: bổ sung thông tin
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

Các đề tài tương tự

  1. Phân biệt truyền biến bằng tham trị, tham chiếu, địa chỉ. Xin cảm ơn.
    Gửi bởi thaoha trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 18-02-2012, 02:03 PM
  2. Kỹ thuật C++ Truyền tham biến hay tham trị?
    Gửi bởi vietanh_90 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 18
    Bài viết cuối: 16-10-2011, 10:45 PM
  3. Về vấn đề truyền con trỏ vào hàm (hay là truyền tham chiếu)
    Gửi bởi hieupm.it90 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 09-09-2010, 04:08 PM
  4. Lỗi truyền tham số đối tượng cho hàm!
    Gửi bởi nguyendu0102 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 07-08-2010, 04:57 PM
  5. Thắc mắc về truyền tham biến và tham trị .. và còn nữa ^^
    Gửi bởi without_you trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 04-02-2010, 08:46 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn