| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 580 人关注过本帖
标题:指向函数的指针变量问题
取消只看楼主 加入收藏
zjk103
Rank: 2
等 级:论坛游民
帖 子:22
专家分:60
注 册:2011-5-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
指向函数的指针变量问题
程序准备实现的是对于a和b两个变量,第一次调用process时找出a、b中的最大值:第二次找出最小值,第三次求a、b之和。
#include<stdio.h>
typedef int (*Func)(int, int);
void process(int x,int y,Func f)
{
    int result;
    result=f(x,y);
    printf("%d\n",result);
}
void main()
{
    int max(int,int),min(int,int),sum(int,int);
    int a,b;
    printf("please input a and b");
    scanf("%d%d\n",&a,&b);
    printf("the number a and b :%d,%d",a,b);
    printf("max is: %d");
    process(a,b,max);
    printf("min is: %d");
    process(a,b,min);
    printf("sum is: %d");
    process(a,b,sum);
}
max(int x,int y)
{
    int z;
    z=x>y?x:y;
    return z;
}
min(int x,int y)
{
    int z;
    z=x<y?x:y;
    return z;
}
sum(int x,int y)
{
    int z;
    z=x+y;
    return z;
}
在VC6.0上编译一直出错,说process中的参数过多。。。。求大牛指导。。。
这是编译时提示的错误:
--------------------Configuration: 函数指针 - Win32 Debug--------------------
Compiling...
函数指针.cpp
E:\新建文件夹\函数指针\函数指针.cpp(18) : error C2660: 'process' : function does not take 3 parameters
E:\新建文件夹\函数指针\函数指针.cpp(20) : error C2660: 'process' : function does not take 3 parameters
E:\新建文件夹\函数指针\函数指针.cpp(22) : error C2660: 'process' : function does not take 3 parameters
Error executing cl.exe.

函数指针.obj - 3 error(s), 0 warning(s)

[ 本帖最后由 zjk103 于 2011-9-23 17:26 编辑 ]
搜索更多相关主题的帖子: include process please number result 
2011-09-23 16:31
zjk103
Rank: 2
等 级:论坛游民
帖 子:22
专家分:60
注 册:2011-5-13
收藏
得分:0 
额,  int max(int, int);
    int min(int, int);
    int sum(int, int);这几个在声明时()内不写类型也应该可以吧
2011-09-23 16:57
zjk103
Rank: 2
等 级:论坛游民
帖 子:22
专家分:60
注 册:2011-5-13
收藏
得分:0 
回复 3楼 tisyang
那个return 0;是不是为了结束程序啊,如果那样不写应该效果是一样的吧?求大牛讲解。。。
2011-09-23 16:58
zjk103
Rank: 2
等 级:论坛游民
帖 子:22
专家分:60
注 册:2011-5-13
收藏
得分:0 
回复 6楼 tisyang
谢谢大牛解释,不过我把typedef int (*Func)(int, int);

void process(int x,int y, Func f)   和result=f(x, y);都改过来了,函数声明也补充完整了,但是提示的错误依旧。。。
2011-09-23 17:21
zjk103
Rank: 2
等 级:论坛游民
帖 子:22
专家分:60
注 册:2011-5-13
收藏
得分:0 
编译没错误了不过程序运行时还有些毛病,我输入两个数字时会出错,中间必须加逗号才可以,而且貌似必须加全拼的
2011-09-23 17:33
快速回复:指向函数的指针变量问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011500 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved