| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:正在学指向函数的指针,为此编了个简单的程序,看了半天,不知错在哪里
取消只看楼主 加入收藏
将是高手
Rank: 1
等 级:新手上路
帖 子:79
专家分:5
注 册:2011-6-18
结帖率:100%
收藏
 问题点数:0 回复次数:2 
正在学指向函数的指针,为此编了个简单的程序,看了半天,不知错在哪里
帮看看,程序的愿意是比较两个数的大小,将值大的数输出,但总是输出“1”,这是为什么?按理说代码应该没啥问题啊。各位帮看看吧。
程序代码:
#include<stdio.h>
int max(int x,int y)
{
    int z;
    if(x>y)
        z=x;
    else 
        z=y;
}
void process(int x,int y,int(*fun)(int,int))
{
    int result;
    result=(*fun)(x,y);
    printf("%d\n",result);
    ++result;
    printf("%d",result);
}
int main()
{
    int max(int,int);
    void process(int,int,int(*fun)(int,int));
    int a,b;
    scanf("%d,%d",&a,&b);
    process(a,b,max);
    getch();
}

搜索更多相关主题的帖子: color 
2011-10-12 20:32
将是高手
Rank: 1
等 级:新手上路
帖 子:79
专家分:5
注 册:2011-6-18
收藏
得分:0 
总是遇见这种粗心大意的错误,太让人郁闷了!!谢谢你。
2011-10-12 20:58
将是高手
Rank: 1
等 级:新手上路
帖 子:79
专家分:5
注 册:2011-6-18
收藏
得分:0 
回复 5楼 laoyang103
呵呵,编了,但不知道这样算不算是用指针去比较两个数了?
程序代码:
#include<stdio.h>
int max(int *x,int *y)
{
    int temp,z;
    if(*x<*y)
    {
        temp=*x;
        *x=*y;
        *y=temp;
    }
    z=*x;
    return z;
}
void process(int *x,int *y,int(*fun)(int *x,int *y))
{
    int result;
    result=(*fun)(x,y);
    printf("%d\n",result);
}
int main()
{
    int max(int *x,int *y);
    void process(int *x,int *y,int(*fun)(int *x,int *y));
    int *a,*b,num1,num2;
    scanf("%d",&num1);
    scanf("%d",&num2);
    a=&num1;
    b=&num2;
    process(a,b,max);
    getch();
}

2011-10-12 21:19
快速回复:正在学指向函数的指针,为此编了个简单的程序,看了半天,不知错在哪里 ...
数据加载中...
 
   



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

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