void intput(int a,int &b)
void intput(int a,int b)
Void intput(int a,int &b) void intput(int a,int b) khác gì nhau
input chứ không phải intput.
Dòng 1 có tham chiếu, dòng 2 thì không có.
1 Like
tham chieu la sao ban giai thich ro giup minh duoc ko
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à @@!
1 Like
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;
}
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
).
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?