C++函数指针的问题

int *m(int *x,int *y){return x>y?x:y;}

void main(){int a,b; cin>>a>>b;
cout<<*m(&a,&b)<<endl;}
从键盘输入55,88的时候,为什么输出的是55啊。上面的指针函数里面比较的是地址吗

int *m(int *x,int *y){return x>y?x:y;}
上面这样就是比较的是a和b的地址。想比较a和b的值代码如下。

int* m(int* x,int* y){return *x > *y? x : y;}

对啊,x y比较的是地址,比较值要*x>*y