今天一个同学问我一个问题,就是这个指针传参的函数调用时写在cout中的问题,
#include<iostream>
using namespace std;
int f(int *a,int *b,int *c)
{
int t=0;
if(*a<*b){t=*a,*a=*b,*b=t;}
if(*a<*c){t=*a,*a=*c,*c=t;}
if(*b<*c){t=*b,*b=*c,*c=t;}
return *a;
}
int main()
{
int x,y,z;
cin>>x>>y>>z;
cout<<f(&x,&y,&z)<<" "<<x<<" "<<y<<" "<<z;
return 0;
}
这个函数最终运行的结果是3 1 2 3 ,
因此我怀疑是指针传参没有发挥自己的特点
有哪位大哥讲解一下啊