| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:问各位一个问题 是关于函数的问题
只看楼主 加入收藏
jyckder
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2010-9-16
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
问各位一个问题 是关于函数的问题
#include<stdio.h>
int hello()
{
    printf("hello world\n");
return 1;
 }
void main()
{

    hello();
        printf("da jia hao ");
}
这个代码中 hello函数要返回一个值1 但我从结果中只看到输出hello world 好像 这个1值在程序中不起什么作用  但这个1却是必要的  有谁说下为什么       这个hello函数我故意设为int类型 不设为void类型   
搜索更多相关主题的帖子: 函数 
2010-09-26 09:05
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:3 
1不是必要的啊,你可以去掉1,也可以达到结果。
图片附件: 游客没有浏览图片的权限,请 登录注册

付出终将有回报!Ibelieve!
2010-09-26 09:16
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:3 
int hello()
{
    printf("hello world\n");
return 1;
}
应为你定义的hello的返回值类型为int型,所以函数体内必须要用return返回一个int型的值
把返回值的类型改为void型就可以了

2010-09-26 09:34
绝对的菜
Rank: 2
等 级:论坛游民
帖 子:35
专家分:27
注 册:2010-9-5
收藏
得分:3 
新手也来学习一下,正常之下,你这个程序应该可以运行吧,我没试,比较懒
我的理解是返回的值并不一定要在要主函数中得到应用,但是返回的值一定得与函数定义的时候类型相配。

要不就是楼上所说的,函数定义返回void型,就不用定义返回1了。
实在是懒得去研究了:)

也许是瞎说:)不用当真。

[ 本帖最后由 绝对的菜 于 2010-9-26 10:32 编辑 ]
2010-09-26 10:31
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:3 
函数的返回值,通常是调用函数用来检测被调函数是否正确运行的。
你main函数里,并没有对他进行检测,当然就没有体现返回值的价值,
一旦编写大型程序的时候,对返回值的检查就十分重要了。
2010-09-26 11:11
zhabeilove
Rank: 2
等 级:论坛游民
帖 子:26
专家分:28
注 册:2010-9-25
收藏
得分:3 
因为设为int或者各种类型的话必须要有一个返回值。。除了在函数前面加void以外。 打个比方:

int Hello()    // <<-- 函数前有int

  ...
 return 1;    // <<--  要加return;
 
/*-------------------------------------------------*/
void Hello()    // <<-- 函数前是 void (空类型)

  ...
                // <<--  因为是空类型,所以没有返回值。(但是除void以外的所有类型都要加返回值,如:float,char,double等等)
 
2010-09-26 11:46
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:3 
一般情况下,返回值0表示正确执行,返回值可有可无,只是根据你程序需要决定的。比如你写一个add程序,这时候返回值就有用了:
int add(int a,int b)
{
    return a + b;
}
int main()
{
    printf("%d\n",add(2,3));
    return 0;
}
再比如,为了出错调试:
int return;
if ((return = hello()) != 1)
    printf("error\n");//这里可以打印信息,以便出错调试
else
...
2010-09-26 13:15
快速回复:问各位一个问题 是关于函数的问题
数据加载中...
 
   



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

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