这个程序怎样改一下,哪位给我指点一下????
/*编程实现:求两个整数中的较小者,在程序中使用指针形式实现对函数的调用。*/#include<stdio.h>
int min(int a,int b)
{
if(a<b)return a;
else return b;
}
main()
{
int min(int a,int b);
int (*pmin)();
int x,y,z;
pmin=min;
printf("please input two numbers:\n");
scanf("%d%d",&x,&y);
z=(*pmin)(x,y);
printf("min_number=%d",z);
}
搜索更多相关的解决方案:
编程
----------------解决方案--------------------------------------------------------
int (*pmin)(); 着是什么 函数?? 定义了没?需要这个么??
----------------解决方案--------------------------------------------------------
pmin类型不对,应该是
int (*pmin)(int,int);
或者如果你不怕安全问题的话
int (*pmin)();
(*(int(*)(int,int))pmin)(x,y);
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]yd4433[/un] 在 2008-4-30 21:38 的发言:[/bo]
int (*pmin)(); 着是什么 函数?? 定义了没?需要这个么??
int (*pmin)(); 着是什么 函数?? 定义了没?需要这个么??
函数指针
----------------解决方案--------------------------------------------------------
int min(int,int);
int (*pmin)()=(int(*)())min;
((int(*)(int,int))pmin)(x,y);
话说这样其实也可以……
----------------解决方案--------------------------------------------------------
楼上的转化很安全...但是没必要那么严格做类型转化吧?
----------------解决方案--------------------------------------------------------
话说,我一直用C++编译器来编译C代码……为了C++的强类型安全……
还有,虽然默认的调用风格是cdecl,但是LZ真的不怕堆栈失衡吗??
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int min(int a,int b)
{
if(a<b)return a;
else return b;
}
int main(void)
{
int min(int a,int b);
int (*pmin)(int,int);
int x,y,z;
pmin=min;
printf("please input two numbers:\n");
scanf("%d%d",&x,&y);
z=pmin(x,y);
printf("min_number=%d",z);
return 0;
}
[color=white]
----------------解决方案--------------------------------------------------------
int (*pmin)();定义指向函数min的指针变量,需要指出函数min的形参!
----------------解决方案--------------------------------------------------------
搞懂了,谢谢大家了!!!!!!!!!!!!
#include<stdio.h>
int min(int a,int b)
{
if(a<b)return a;
else return b;
}
main()
{
int min(int a,int b);
int (*pmin)(int,int);
int x,y,z;
pmin=min;
printf("please input two numbers:\n");
scanf("%d%d",&x,&y);
z=pmin(x,y);
printf("min_number=%d",z);
}
----------------解决方案--------------------------------------------------------