谢谢!!!
----------------解决方案--------------------------------------------------------
找本好的书来看吧!!看<<c陷阱和缺陷>>这里有你想知道的问题!!
----------------解决方案--------------------------------------------------------
以下是引用viky2003在2007-8-11 20:47:46的发言:
你自己试试就知道了撒!!两个指针不匹配,!!
我看看就知道匹配,再说人家不是通过编译了吗?
我说的那么详细了,
你说两个指针不匹配,什么地方不匹配?
[此贴子已经被作者于2007-8-13 13:18:09编辑过]
----------------解决方案--------------------------------------------------------
以下是引用雨中飞燕在2007-8-11 20:38:29的发言:
float (*p)();
float swap(float ,float);
float k;
p=swap;
k=(*p)(3.0,10.0);
这种写法错误很严重,首先,3.0,10.0都是double类型,和float (*p)()类型不匹配
float (*p)()在C里表示可以接收任意个数的参数,并且不进行检查,于是结果不确定
如果要改,那就是:
float *p(float,float);
k=p(3.0f,10.0f);
同意,楼主照这样改,去试试啊?
----------------解决方案--------------------------------------------------------