| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9974 人关注过本帖
标题:函数参数和返回值的作用
只看楼主 加入收藏
victerzhong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-18
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:5 
函数参数和返回值的作用
函数返回类型和参数分别有什么用,尽量解释的简单一点
我只是一个初学者
还有函数返回类型和参数是怎么运行的
列个代码看看
谢谢大家
搜索更多相关主题的帖子: 参数 函数 返回值 
2010-04-03 09:52
不归鹄
Rank: 9Rank: 9Rank: 9
来 自:冥王星
等 级:蜘蛛侠
威 望:4
帖 子:491
专家分:1380
注 册:2009-12-20
收藏
得分:3 
为了说明清楚,用下面一个简单的两数相加程序进行说明。

#include<stdio.h>

void main()/*计算两数相加*/
{
    int a=5,b=4,c;
    int add(int m,int n);/*对函数进行声明*/
    c=add(a,b);/*函数调用*/
    printf("%d",c);/*输出结果*/
    getch();
}

int add(int m,int n)
{
    int sum;
    sum=m+n;/*计算两数相加*/
    return sum;/*返回函数值*/
}

    程序中定义了一个“ int add(int m,int n) ”函数,函数有两个形参,定义返回类型为整型。参数是用来传递值用的。定义函数时在括号中定义的变量叫形参(形式参数),如“int add(int m,int n)”里面的“m”和“n”,在调用函数时提供给函数的变量叫实参(实际参数),如“c=add(a,b);”里的“a”和“b”,当调用函数时,程序将 a 的值传递给 m(m=a),将 b 的值传递给 n (n=b),然后运行函数add(),即将 m 和 n 两数相加并赋值给 sum 。然后返回sum 的值给 C 。   
   
    函数是用来完成一些功能的程序段,所以函数执行完之后要有所作用,要么就完成输入、输出等动作,要么就进行一些计算,所以要求它执行完之后能得到一些结果,而结果就用返回值来得到(return 语句),返回的结果的数据可能是整型,可能是字符型…这就需要你来定义(如上面的 add() 函数被我定义为整型,因为我要得到的值是整型——变量"c"为整型),这就是函数的返回类型。return 语句中的变量(sum)的类型必须和你定义的返回类型(int add(int m,int n)
)一至。

2010-04-03 11:20
victerzhong
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-18
收藏
得分:0 
回复 2楼 不归鹄
你回答得非常好了,但我还有几个问题和建议想问你,希望你能解答

 首先,你调用了getch();函数,是要写#include <conio.h>这个头文件


其次我想问一下你,你的add函数中,这个return是不是等价于pirntf("%d",a+b);呢,是的话
是不是return语句都是相类似的作用,请举几个例子,谢谢。如果不是那么它在程序中大部分
充当什么成分,我现在就在学return局部变量和全剧变量,这些搞得我很头晕,谢谢指点。

再其次,为什么在程序中要用这样int add(int m,int n);的语句,不是直接c=add(a,b);吗?

最后我还想知道,声明函数使 返回类型 函数名(参数列表)这个返回类型是有什么作用,
在编程领域中返回这一词什么意思,函数声明有什么用?

谢谢大家帮我解答
2010-04-04 09:46
qq1
Rank: 2
等 级:论坛游民
帖 子:92
专家分:22
注 册:2010-3-26
收藏
得分:0 
{为什么在程序中要用这样int add(int m,int n);的语句,不是直接c=add(a,b);}
在用函数前必须对函数声明,这样编译系统才能知道函数名,参数个数,参数类型等,如果要不用声明,你就把主函数main()放在被调用函数后面
2010-04-04 10:56
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1481
专家分:9055
注 册:2010-3-16
收藏
得分:2 
返回就表示这这个函数的结束,返回值就是这个函数运算后的结果,既然是个值,那肯定得有个类型了,所以需要说明返回类型。

函数的声明就是让程序知道有这么个函数存在,在后面使用这个函数的时候就可以找到这个函数,不然没有声明而又使用了这个函数,编译器不知道从哪里去找这个函数。

2010-04-04 11:54
yjho
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-12-27
收藏
得分:0 
回复 3楼 victerzhong
return 是返回一个值给add这个变量使得c=add;即c等于两数和而printf("%d",a,b);是a,b放进函数add里面进行运算得到了结果返回给c这时c=a+b并不能说return 就是printf("%d",a,b);如果不printf C=a+b;还是成立的。函数的形参是用来接受从调用(main)函数传来的数据。例题的m n就是用来接受a b的值来进行运算的而sum就是开辟一个存储区来返回一个值给main函数的.就我所知假如void add(intm,intn)这个函数就没有返回值而如果函数void add(void)里面有printf那么你在main函数直接add();就是printf
2017-12-27 10:41
快速回复:函数参数和返回值的作用
数据加载中...
 
   



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

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