01/10/2018, 12:21

Void intput(int a,int &b) void intput(int a,int b) khác gì nhau

void intput(int a,int &b)
void intput(int a,int b)

HK boy viết 14:34 ngày 01/10/2018

input chứ không phải intput.

Dòng 1 có tham chiếu, dòng 2 thì không có.

Lol Carry viết 14:28 ngày 01/10/2018

tham chieu la sao ban giai thich ro giup minh duoc ko

Khang Việt viết 14:29 ngày 01/10/2018

lên google gõ : tham chiếu là gì là sẽ ra thôi . Mấy cái này là cái cơ bản nhất phải học trước khi viết code mà @@!

Tuu viết 14:34 ngày 01/10/2018

Bạn cũng có thể chạy thử một chương trình để hiểu mà

#include <iostream>
using namespace std;

void intput(int &a, int &b)
{
    a = b;
    a++;
    cout<<"a = "<<a<<endl;
    cout<<"b = "<<b<<endl;
}

void intput2(int a, int b)
{
    a = b;
    a++;
    cout<<"a2 = "<<a<<endl;
    cout<<"b2 = "<<b<<endl;
}


int main()
{
    int a,b;
    cin>>a>>b;
    cout<<"a = "<<a<<" b = "<<b<<endl;
    cout<<"a va b sau khi vao ham intput 2 : "<<endl;
    intput2(a,b);
    cout<<"a va b sau khi vao ham intput 1: "<<endl;
    intput(a,b);
    cout<<"a va b sau khi da ra khoi ham"<<endl;
    cout<<"a = "<<a << " b = "<<b;
    return 0;
}
rogp10 viết 14:29 ngày 01/10/2018

Cả hai prototype đưa ra đều không đúng vì đã gọi là hàm input thì phải sửa tham số (nếu không thì chính là đặt sai tên). Mà muốn sửa được thì tham số phải truyền tham chiếu (pass by reference -> có reference ).

Bài liên quan
0