| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3058 人关注过本帖
标题:输入两个整数,让用户选择1或2,选一调用max函数,选二调用min函数用指向函 ...
只看楼主 加入收藏
哈利60
Rank: 2
等 级:论坛游民
帖 子:33
专家分:12
注 册:2016-6-3
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
输入两个整数,让用户选择1或2,选一调用max函数,选二调用min函数用指向函数的指针变量
#include<stdio.h>
int main()               //怎样改才正确
{
    int max(int, int);   //函数声明
    int min(int x, int y);  //函数声明
    int(*p)(int, int);//定义指向函数的指针变量
    int a, b, c, n;
    printf("输入a,b");
    scanf_s("%d %d", &a, &b);
    printf("请选择1或2");
    scanf_s("%d", &n);//输入1或2
    if (n == 1) p = max;//如输入1,使p指向max函数
    else if (n == 2) p = min;
    c = (*p)(a, b);             //此处报错
    printf("a=%d,b=%d\n", a, b);
    if (n == 1) printf("max=%d\n", c);
    else printf("min=%d", c);
    return 0;
}
int max(int x, int y)
{
    int z;
    if (x > y) z = x;
    else z = y;
    return z;
}
int min(int x, int y)
{
    int z;
    if (x < y) z = x;
    else z = y;
    return z;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include 用户 
2016-06-14 11:35
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:6 
    if (n == 1) p = max;//如输入1,使p指向max函数
    else p = min;
2016-06-14 11:39
apiqqz
Rank: 2
等 级:论坛游民
威 望:2
帖 子:56
专家分:25
注 册:2011-9-2
收藏
得分:3 
这里可能有点不同吧,一般声明是为了编译器做类型检查,这里使用指针调用函数,可能编译器并不知道min 和max的地址,毕竟没有编译到这两个函数,把这两个函数放到mian()前面试试,另外直接使用了c=p(1,2);

[此贴子已经被作者于2016-6-14 15:26编辑过]

2016-06-14 15:02
华夏府主
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2016-1-17
收藏
得分:1 
函数应该是先定义在然后再使用吧。
2016-06-14 15:15
寂兮廖兮
Rank: 2
等 级:论坛游民
帖 子:22
专家分:27
注 册:2016-6-13
收藏
得分:0 
为什么你的scanf是scanf_s?
2016-06-14 21:03
寂兮廖兮
Rank: 2
等 级:论坛游民
帖 子:22
专家分:27
注 册:2016-6-13
收藏
得分:0 
运行了一下没有错误啊。。。
2016-06-14 21:05
哈利60
Rank: 2
等 级:论坛游民
帖 子:33
专家分:12
注 册:2016-6-3
收藏
得分:0 
回复 6楼 寂兮廖兮
在vs2015中运行就报错,在vc++6.0中不报错
2016-06-15 08:56
寂兮廖兮
Rank: 2
等 级:论坛游民
帖 子:22
专家分:27
注 册:2016-6-13
收藏
得分:0 
回复 7楼 哈利60
好吧 我的是VS2010 没有报错。。。
还有话说怎么知道别人回复了你?我都不知道的。。。
2016-06-15 21:43
快速回复:输入两个整数,让用户选择1或2,选一调用max函数,选二调用min函数用指 ...
数据加载中...
 
   



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

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