C函数继续问

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:17:19
void f(int x,int y)
{
int t;
if(x<y)
{
t=x;x=y;y=t;
}
}
main()
{
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf("%d%d%d",a,b,c);
}

答案是什么 详细解释 是5,4,3,还是 4,3,5

答案:4,3,5
传的是a,b,c的值, 不是他们的地址, 所以算完后 原来的abc还是原来的abc,没有变。

如果是指针的话就会变成5,4,3 例如:
void f (int *x, int *y){
....
}

x,y是型参
函数结束会被销毁,不会改变a,b,c的值

具体要看一下书了