首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言中两个指针可不可以直接比较值?解决方法

2012-02-17 
c语言中两个指针可不可以直接比较值?#includestdio.hmax(int*a,int*b){inttif(*a *b){t*a*a*b*bt

c语言中两个指针可不可以直接比较值?
#include   <stdio.h>
max(int   *a,int   *b)
{
int   t;
if(*a <*b)
{
        t=*a;
        *a=*b;
        *b=t;
}
return   *a;
}
main()
{
int   x,y,z;
int   max(int   *a,int   *b)   ;
int   (*p)();
p=max;
scanf( "%d   %d ",&x,&y);
z=(*p)(x,y);
printf( "maxNum=%d ",z);
}

就像这个程序中下面这行
if(*a <*b)

每次运行到这里就出错...

我向请问一下     可不可以用上面这种比较??

[解决办法]
z=(*p)(&x, &y);
[解决办法]
int mymax(int *a,int *b)
{
int t;
if(*a <*b)
{
t=*a;
*a=*b;
*b=t;
}
return *a;
}

int main(int argc, char* argv[])
{
int x,y,z;
int (*p)(int*,int*);
p=mymax;
scanf( "%d %d ",&x,&y);
z=p(&x,&y);
printf( "maxNum=%d ",z);

return 0;
}
[解决办法]
if(*a <*b)
写对拉的..

z=(*p)(x,y);
写错了
函数指针...

可以隐试调用和显示调用,。。
z=p(x,y);

热点排行