2级C语言

来源:百度知道 编辑:UC知道 时间:2024/05/25 22:47:49
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
main()
{ int x=2,y=4;
f(y,&x);
printf(" %d %d\n",x,y);
}
请解释运算过程和结果,谢谢

y作为形参,运算后值不会改变,最后结果y为4
x作为实参,运算后值会改变,{ y=y+*x; *x=*x+y;}结果为x=2+(2+4)=8
最后显示为:8 4

简单的函数问题
y传递的是值

&x传递的是地址
就是这样

答案 应该为输出 2 4 ;
在main函数中调用f,函数f不会影响到主函数的值