| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 767 人关注过本帖
标题:错在哪里???函数需要return。。。。。
只看楼主 加入收藏
笛c
Rank: 2
等 级:论坛游民
帖 子:34
专家分:24
注 册:2012-11-17
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:15 
错在哪里???函数需要return。。。。。
#include<stdio.h>
int main()
{int fun(int x,int y,int(*p)(int,int));
int add(int,int);
int sub(int,int);
int mul(int,int);
int a,b,n;
int add,sum,mul;
printf("please input a and b:\n");
scanf("%d %d",&a,&b);
printf("please choose 1,2 or 3:");
scanf("%d",&n);
if(n==1)p=add(x,y);

else if(n==2)p=sum(x,y);
else if(n==3)p=mul(x,y);
return 0;
}
int fun(int x,int y,int(*p)(int,int))
{int result;
result=(*p)(x,y);
printf("%d\n",result);
}
int add(int x,int y)
{int z;
z=x+y;
printf("sum=");
return (z);
}
int sub(int x,int y)
{
    int z;
    z=x-y;
    printf("sub=");
    return (z);
}
int mul(int x,int y)
{int z;
z=x*y;
return (z);
}

搜索更多相关主题的帖子: result please return include 
2012-12-21 12:51
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:3 
我看看先
==
2012-12-21 13:15
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:3 
给你先排了下版,不然看起好乱:

#include<stdio.h>
int main()
{
    int fun(int x,int y,int(*p)(int,int));
    int add(int,int);
    int sub(int,int);
    int mul(int,int);
    int a,b,n;
    int add,sum,mul;
   
    printf("please input a and b:\n");
    scanf("%d %d",&a,&b);
    printf("please choose 1,2 or 3:");
    scanf("%d",&n);
    if(n==1)
        p=add(x,y);   
    else if(n==2)
        p=sum(x,y);
    else if(n==3)
        p=mul(x,y);
        
    return 0;
}
int fun(int x,int y,int(*p)(int,int))
{
    int result;
    result=(*p)(x,y);
    printf("%d\n",result);
}

int add(int x,int y)
{
    int z;
    z=x+y;
    printf("sum=");
    return (z);
}
int sub(int x,int y)
{
    int z;
    z=x-y;
    printf("sub=");
    return (z);
}
int mul(int x,int y)
{
    int z;
    z=x*y;
    return (z);
}
2012-12-21 13:24
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
程序代码:
int fun(int x,int y,int(*p)(int,int))
{
    int result;
    result=(*p)(x,y);
    printf("%d\n",result);
}

无返回值

哎呀,刚才还没仔细看
你还玩函数指针?
话说你都玩到函数指针了,不会如此弱智的问题还拿出来问吧?

[ 本帖最后由 peach5460 于 2012-12-21 13:29 编辑 ]

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-21 13:28
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
函数指针的问题啊
不懂了
2012-12-21 13:30
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 5楼 daniel_
他说是return出的错.我看到fun没有return语句...
就说错在这里咯

结果发完贴一看,fun还是个函数指针...
等我开工程把代码拷进来看看...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-21 13:34
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:0 
回复 楼主 笛c
首先,普通函数的声明一般都是放在main函数的前面的,放在main函数里面不好。至于是不是不能放在里面,我不敢确定。刚刚在GCC下编译了下,提示重复定义。
其次,你这个函数中的输出语句可能只有你自己能懂:"please choose 1,2 or 3:" 谁知道这1,2和3有啥子意思呢?
然后,你这个函数fun()准备做什么用呢?看样子你是想把计算的结果打印出来,int(*p)(int,int),你定义了一个函数指针,但我不知道你要怎么用这个。fun从未被调用过。
另外,你在main函数里写的是sum,应该改成sub吧~~

题外话,编程出错的时候,自己多看看编译器的错误提示,大部分的语法错误都可以检查出来的。
2012-12-21 13:35
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
程序代码:
#include "stdafx.h"
#include<stdio.h>

int main()
{
    int fun(int x,int y,int(*p)(int,int));
    int add(int,int);
    int sub(int,int);
    int mul(int,int);
    int a,b,n,p;

    printf("please input a and b:\n");
    scanf("%d %d",&a,&b);
    printf("please choose 1,2 or 3:");
    scanf("%d",&n);
    if(n==1)
        p=add(a,b);   
    else if(n==2)
        p=sub(a,b);
    else if(n==3)
        p=mul(a,b);

    return 0;
}


int add(int x,int y)
{
    int z;
    z=x+y;
    printf("sum=");
    return (z);
}
int sub(int x,int y)
{
    int z;
    z=x-y;
    printf("sub=");
    return (z);
}
int mul(int x,int y)
{
    int z;
    z=x*y;
    return (z);
} 

这是从哪七拼八凑弄出来的代码,我的亲娘啊
到处都是变量未声明

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-21 13:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
错误太多  逻辑太乱  不清楚楼主到底想干什么

DO IT YOURSELF !
2012-12-21 13:41
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
楼主想要通过函数指针来调用子函数
2012-12-21 13:42
快速回复:错在哪里???函数需要return。。。。。
数据加载中...
 
   



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

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