发布网友
共1个回答
热心网友
int main()
{
int a=1;
int b=2;
printf("before :a=%d b=%d\n",a,b);//交换之前a,b的值
change(a,b); //交换过程
printf("after :a=%d b=%d\n",a,b);
/*交换后a,b的值,没有变换,没错,这意味着形式参数无法修改实际参数的值,只是起了一个备份的作用,就是把实参的值拷贝到了形参中,实际的参数没有发生任何变换. 当形参是指针的时候,会改变实参的值*/
return 0;
}
void change(int x,int y)//这里的形参x对应实参a的值,形参y对应实参b的值
{ //形参交换过程
int temp;
temp=x;
x=y;
y=temp;
printf("change :x=%d y=%d\n",x,y);//形参的值
}
运行结果:
before :a=1 b=2 //实参的值
change :x=2 y=1 //形参的值
after :a=1 b=2 //交换后没有影响实参
需要指针的例子在找我要