请教一下这个程序理解,为什么结果是55,而不是88呢?


#include <iostream>
using namespace std;
int *m(int *x,int *y)
{
    return x>y?x:y;
}
int main()
{
    int a=55,b=88;
    cout <<*m(&a,&b) <<endl;
    return 0;
}

x>y比较的是两个地址,你要分别在x>y的x,y之前加上指针,然后再返回地址。

这代码想干嘛?x和y是指针,你比较个指针干啥?

 
#include <iostream>
using namespace std;
int *m(int *x,int *y)
{
    return *x>*y?x:y;
}
int main()
{
    int a=55,b=88;
    cout <<*m(&a,&b) <<endl;
    return 0;
}

多年不写c++了

这个是数据结构的题目吧?你看下栈那一张