| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 351 人关注过本帖
标题:关于函数的问题!
只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏
 问题点数:0 回复次数:5 
关于函数的问题!
先谢谢大家能看我的贴!谢谢啊!
#include"stdio.h"
int small(int e,int t)
{
    if(e>t)
        printf("最大=%d\t最小=%d\n",e,t);
    else
        printf("最大=%d\t最小=%d\n",t,e);
    return(t);
}
void main()
{
    int a,b,c;
    scanf("%d%d",&a,&b);
    printf("您输入的数为:\na=%d\tb=%d\n",a,b);
    c=small(a,b);
}
为什么函数要有返回值(return(t))才能编译成功?

为什么这样不能编译成功呢?
#include"stdio.h"
int small(int e,int t)
{
    if(e>t)
        printf("最大=%d\t最小=%d\n",e,t);
    else
        printf("最大=%d\t最小=%d\n",t,e);
}
void main()
{
    int a,b,c;
    scanf("%d%d",&a,&b);
    printf("您输入的数为:\na=%d\tb=%d\n",a,b);
        small(a,b);
}
没有返回值不行吗?
搜索更多相关主题的帖子: 函数 
2008-06-15 13:00
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
我不知道你用的什么编译器。
但是你的small函数是整形的,因此最好return
你如果不想return直接把small函数定义为void就可以不用return了

void small(int,int)
2008-06-15 13:08
learnerboy
Rank: 2
等 级:论坛游民
帖 子:246
专家分:22
注 册:2007-11-11
收藏
得分:0 
你把函数改成这样就行了:
void small(int e,int t)
将程序写成这样也行:
#include"stdio.h"
void small(int e,int t)
{
    e>t?printf("最大=%d\t最小=%d\n",e,t):printf("最大=%d\t最小=%d\n",t,e);
}
void main()
{
    int a,b;
    printf("给a~b赋值==>>");
    scanf("%d%d",&a,&b);
    printf("\n您输入的数为:\na=%d\tb=%d\n",a,b);
        small(a,b);
}
2008-06-15 13:12
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
这样我试过了,void不能编译出来,我用的是VC编译的!
只有把void改了,才能调用!
2008-06-15 13:17
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
有了void就不能return 否则编译不通过。。
如果你这样做了还不行,那就见鬼了。。

要不将void main改为int main 然后最后加上return语句看看
2008-06-15 13:20
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
呵呵,行了!
谢谢了啊!都是你在帮我回复……
2008-06-15 13:26
快速回复:关于函数的问题!
数据加载中...
 
   



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

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