我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

« 1 2» Pages: ( 1/2 total )
本页主题: 出现问题老,c编译错误 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ fuss /fΛs/ n. 大惊小怪,吹捧 ]


出现问题老,c编译错误

#include <stdio.h>
#include <stdlib.h>

int get_result(int a, int b, int (*compare)())
{
  return(compare(a, b)); // Invoke the function passed
}


int max(int a, int b)
{
  printf("In max\n");
  return((a > b) ? a: b);
}

int min(int a, int b)
{
  printf("In min\n");
  return((a < b) ? a: b);
}

int main(void)
{
  int result;

  result = get_result(1, 2, &max);
  printf("Max of 1 and 2 is %d\n", result);
 
  result = get_result(1, 2, &min);
  printf("Min of 1 and 2 is %d\n", result);
  system("pause");
 return 0;
}
  就是这个程序,不知道有什么问题
顶端 Posted: 2006-09-27 10:43 | [楼 主]
demonwar



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 头你妹的
等级: 管理员
家族: 存在与虚无
发贴: 52926
威望: 11
浮云: 627
在线等级:
注册时间: 2006-08-02
最后登陆: 2025-09-12

5come5帮你背单词 [ microprocessor /maikrəu'prosesə/ n. 微型信息处理机 ]


错误提示是啥子。。
顶端 Posted: 2006-09-27 10:51 | [1 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ cooperative /kəu'opərətiv/ a. 合作的;n. 合作社 ]


错误提示说无法在函数之间传递
顶端 Posted: 2006-09-27 10:52 | [2 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ naval /'neivəl/ a. 海军的,军舰的 ]


编译器: Default compiler
执行 mingw32-gcc.exe...
mingw32-gcc.exe "E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C" -o "E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.exe"   -I"D:\Dev-Cpp\include"   -L"D:\Dev-Cpp\lib"
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C: In function `int get_result(int, int, int (*)())':
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C:6: error: too many arguments to function

E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C: In function `int main()':
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C:26: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C:26: error:   initializing argument 3 of `int get_result(int, int, int (*)())'
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C:29: error: invalid conversion from `int (*)(int, int)' to `int (*)()'
E:\学习资料\编程\C语言900例\ARRAYS\PASSFUNC.C:29: error:   initializing argument 3 of `int get_result(int, int, int (*)())'

执行结束
顶端 Posted: 2006-09-27 10:53 | [3 楼]
kaby





性别: 帅哥 状态: 该用户目前不在线
头衔: 又好又强大
等级: 荣誉会员
家族: 八宝推倒委员会
发贴: 3360
威望: 0
浮云: 584
在线等级:
注册时间: 2003-09-24
最后登陆: 2015-03-28

5come5帮你背单词 [ paint /peint/ v. 绘,画,给…上油漆,描绘;n. 绘画作品,油漆,颜料 ]


很明显素 函数指针 作为函数参数滴定义有问题

宁亚木有给出函数指针所指函数滴参数数量,宁亚要编译器怎么压栈?
而且,偶印象中函数指针作为函数参数定义起来素很麻烦滴说,问题不止如此滴说。

宁亚可以查阅下C Programming FAQ。
顶端 Posted: 2006-09-27 11:50 | [4 楼]
一夜N阵风



贴图大师奖
性别: 帅哥 状态: 该用户目前不在线
头衔: *&*牛仔*&*
等级: 荣誉会员
家族: 梦魇图腾
发贴: 38652
威望: 4
浮云: 833
在线等级:
注册时间: 2005-03-14
最后登陆: 2008-03-07

5come5帮你背单词 [ highland /'hailənd/ n. (pl.)高地,山地 ]


int get_result(int a, int b, int (*compare)())
{
return(compare(a, b)); // Invoke the function passed/*此处应改为return((*compare)(a, b)); */
}
result = get_result(1, 2, &max);/*改为result = get_result(1, 2, max);*/
result = get_result(1, 2, &min);/*改为result = get_result(1, 2, min);*/
lz没搞清楚函数指针,函数名中存储的就是函数的入口地址,如:定义int (*p)(int ,int);
和int max(int a,int b),可直接赋值p=max,引用时要(*p)(a,b)
顶端 Posted: 2006-09-27 17:53 | [5 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ hammer /'hæmə/ n. 榔头,锤;v. 锤击,敲打,锻造 ]


果然是好手,学习中
顶端 Posted: 2006-09-27 20:47 | [6 楼]
弯刀



性别: 保密 状态: 该用户目前不在线
头衔: 建设东路走9遍
等级: 人见人爱
家族: 艾泽拉斯兄弟会
发贴: 3809
威望: 0
浮云: 1173
在线等级:
注册时间: 2004-09-14
最后登陆: 2009-04-08

5come5帮你背单词 [ outlook /'aut-luk/ n. 景色,风光,观点风解,前景,前途 ]


把max 和min 改成max1 和min1嘛
应该是重名了
顶端 Posted: 2006-09-27 21:41 | [7 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ figure /'figə/ n. 外形,体形,身体,要人,人物,人体,图表,数字;vt. 计算;用图表示 ]


按五楼的改了也不行啊,还是出现那个错误提示的
顶端 Posted: 2006-09-27 21:46 | [8 楼]
弯刀



性别: 保密 状态: 该用户目前不在线
头衔: 建设东路走9遍
等级: 人见人爱
家族: 艾泽拉斯兄弟会
发贴: 3809
威望: 0
浮云: 1173
在线等级:
注册时间: 2004-09-14
最后登陆: 2009-04-08

5come5帮你背单词 [ vehicle /'vi:ikl/ n. 交通工具,车辆,工具,手段 ]


...刚才用的VC,MAX 和MIN都被stdlib写来包了
换dev试了下,正常运行啊
顶端 Posted: 2006-09-27 21:55 | [9 楼]
弯刀



性别: 保密 状态: 该用户目前不在线
头衔: 建设东路走9遍
等级: 人见人爱
家族: 艾泽拉斯兄弟会
发贴: 3809
威望: 0
浮云: 1173
在线等级:
注册时间: 2004-09-14
最后登陆: 2009-04-08

5come5帮你背单词 [ two /tu:/ num. 二 ]


N阵风的方法也能运行
LZ你用的什么编译器哦
-.-
顶端 Posted: 2006-09-27 21:59 | [10 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ physiological /fiziə'lod3əikəl/ a. 生理的 ]


行的?都没改过?我的还是不行用的是mingw32gcc编译
顶端 Posted: 2006-09-27 22:01 | [11 楼]
弯刀



性别: 保密 状态: 该用户目前不在线
头衔: 建设东路走9遍
等级: 人见人爱
家族: 艾泽拉斯兄弟会
发贴: 3809
威望: 0
浮云: 1173
在线等级:
注册时间: 2004-09-14
最后登陆: 2009-04-08

5come5帮你背单词 [ voyage /void3ə/ n. & vi. 航行,旅行,航海 ]


只把return 0 删了
应该是你编译器的问题,我也没用过mingw32
顶端 Posted: 2006-09-27 22:10 | [12 楼]
瓜瓜坠地





性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 594
威望: 0
浮云: 1161
在线等级:
注册时间: 2006-05-12
最后登陆: 2007-01-09

5come5帮你背单词 [ fetus // n. 胎,胎儿 ]


那你用dev的什么编译器?
顶端 Posted: 2006-09-27 22:13 | [13 楼]
弯刀



性别: 保密 状态: 该用户目前不在线
头衔: 建设东路走9遍
等级: 人见人爱
家族: 艾泽拉斯兄弟会
发贴: 3809
威望: 0
浮云: 1173
在线等级:
注册时间: 2004-09-14
最后登陆: 2009-04-08

5come5帮你背单词 [ retail /'ri:teil/ v. & n. 零售;adv. 以零售价格 ]


devcpp
软件站应该有下
顶端 Posted: 2006-09-27 22:19 | [14 楼]
« 1 2» Pages: ( 1/2 total )
我来我网·5come5 Forum » 程序员之家

Total 0.012934(s) query 5, Time now is:01-25 01:11, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号