#include using namespace std;
如果用指针传递的话要在函数内改变值要用*a,单纯用a的话改变的是地址 //void sum(int *a,int *b){ //a=a+1; //b=b+1; // //} // // // // // //int main(){ //int a=10,b=3,c; //sum(&a,&b); // //cout<<“a的值为”<<(long long)&a<<endl; //cout<<“b的值为”<<(long long)&b<<endl; //64位操作系统指针为8位,所以不能定义为(int) &, 32位的话可以 // //}
不用指针的话形参是改变不了实参的 //void sum(int a,int b){ //a=a+1; //b=b+1; // //} // //int main(){ //int a=10,b=3; //sum(a,b); // //cout<<“a的值为”<<a<<endl; //cout<<“b的值为”<<b<<endl; // //}
//值传递的两种方式 //1. //void sum(int *a,int *b){ //*a=*a+1; //*b=b+1;//此时a为指针要取值需要加a解引用来取值 // //} // //int main(){ //int a=10,b=3; //sum(&a,&b);//传入地址 // //cout<<“a的值为”<<a<<endl; //cout<<“b的值为”<<b<<endl; // //}
2.用&将值带回来 //void sum(int &a,int &b){ //a=a+1; //b=b+1; // //} // //int main(){ //int a=10,b=3; //sum(a,b); // //cout<<“a的值为”<<a<<endl; //cout<<“b的值为”<<b<<endl; // //}
|