初学者请教大家一个很小的程序
#include <iostream>
using namespace std;
int a;
void a2(int b){
for(int i=0;i<10;i++)
b=i;
}
void a1(){
a2(a);
}
int main(void){
a1();
cout<<a;
}
我遇到了一个问题,代码比较长,我把它简化成上面的样子,我想通过调用a1(),让a2()对全局变量a进行操作,我预期的结果是9,运行结果是0,请大家帮我解释下
[解决办法]
a2函数的参数传递用指针就可以了。
[解决办法]
首先int a你最好赋个初值,其次a2(a);你传的是a的值,是改变不了a的值的,传地址或引用可以。
[解决办法]
void a2(int b){
for(int i=0;i<10;i++)
b=i;
}
----------------------------------------
改成:
void a2(int &b){
for(int i=0;i<10;i++)
b=i;
}
LZ要搞清楚C/C++中函数参数传递的问题啊