| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖
标题:定义函数调用错误
只看楼主 加入收藏
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
结帖率:90.32%
收藏
已结贴  问题点数:10 回复次数:5 
定义函数调用错误
#include
int main()
{
    int a,b,c,t;
    int max(int x,int y);
    scanf("%d%d%d",a,b,c);
    t=max(a,max(b,c));//比较a,b,c的大小
        printf("max=%d",t);//输出最大数
    return 0;
}

int max(int x,int y);//调用函数(书上写了两种,还用种是void max,都行么?)
{if(x>y)max=x;
        else max=y;
        return(max);
}
error C2449: found '{' at file scope (missing function header?)
error C2059: syntax error : '}'这是抱错。
搜索更多相关主题的帖子: return function max 
2012-11-03 18:17
liman123
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:79
专家分:178
注 册:2012-10-6
收藏
得分:9 
#include<stdio.h>//头文件没有!要包含<stdio.h>!
int main()
{
    int a,b,c,t;
    int max(int x,int y);
    scanf("%d%d%d",&a,&b,&c);//没有取地址符!
    t=max(a,max(b,c));
        printf("max=%d",t);
    return 0;
}

int max(int x,int y)//这里有返回值不能用void!
{
    int max;//这里要定义一个局部变量 max!
    if(x>y)max=x;
        else max=y;
     return max ;
}
2012-11-03 18:42
liman123
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:79
专家分:178
注 册:2012-10-6
收藏
得分:1 
建议楼主看书和编程的时候要多多思考,这样才能有大的进步!
2012-11-03 18:43
飞跃的乌龟
Rank: 2
等 级:论坛游民
帖 子:96
专家分:18
注 册:2012-10-20
收藏
得分:0 
不好意思,打上去的时候打掉了,我找到它抱错的地方
“int max(int x,int y);//调用函数(书上写了两种,还用种是void max,都行么?)”
这一行多打了个;
2012-11-04 09:20
liman123
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:79
专家分:178
注 册:2012-10-6
收藏
得分:0 
初学者简单点理解。一个函数里面有return 语句就不能用void;而要在函数名前面加上返回值的类型。函数里面没有return语句的就在函数名前面加void!具体的还得自己多看书,多问同学和老师啊!不知道我说你能不能理解?
2012-11-04 12:07
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
5楼上说的不对,void也是可以用return的,只不过return后面什么都没有,举个例子:
#include <stdio.h>
void main()
{
    printf("Hello World!\n");
    return;
    printf("Hello World!\n");
}
只打印出一行Hello World!,原因就是return;这使函数执行完了,后面的语句不执行
#include <stdio.h>
int main()
{
    printf("Hello World!\n");
    return 1;
    printf("Hello World!\n");
}
这个也是一行,理由同上。

至于int和void区别:把void理解成main这个函数是定义为不返回值的函数,int就是把main定义为返回整形的函数。
一般情况下,定义为int的函数没有加return a(a是一个int数)是会报错的(也有可能是警告)
类似的还有bool fun();double fun();float fun().....


[fly]存在即是合理[/fly]
2012-11-04 12:42
快速回复:定义函数调用错误
数据加载中...
 
   



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

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