c语言中函数的返回值到底是什么意思,有什么用
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
函数可以有返回值,也可以没有返回值。
1、没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。
2、有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
扩展资料
C程序中的print函数:
是这样写的:printf("%d\n",printf("%d",printf("%d",i)));
一共有三个printf函数,我们可以使用一些代号来简化这个printf函数,如下:
代号A: printf("%d",printf("%d",i));
代号B: printf("%d",i)
则C程序代码可以简化为:printf("%d\n",A); 那么我们就先来求A。而A,又可以简化为:printf("%d",B);那么就先来求B。
B是 printf("%d",i),打印出“123”,即在C语言运行结果中,你最先看到的是123。C语言printf函数的返回值是printf实际控制输出的字符数,那么打印的123 就是3个字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以写为printf("%d",printf("%d",3));打印出3,即在运行结果中,你紧接着会看到3。
而打印出的3是1个字符,因此A就是1,那么printf("%d\n",A); 实际上就是printf("%d\n",1); 打印出1。
参考资料来源:百度百科-返回值
所谓函数返回值是一个函数在运算结束以后向调用它的母函数或者系统反馈一个值,这个值可以是各种变量类型.
举个简单的例子:
int add(int a,int b)
{
return (a+b);
}
int main()
{
int res;
res=add(3,4);
printf("%d",res);
return 0;
}
在主函数main中调用子函数add,并传递参数3和4过去,add经过运算后得到值7,通过return语句将得到的值返回给调用它的main函数供其使用,而在main中,返回值被用于给res赋值。
函数返回值就可以理解为解决一个问题以后得到的结论,把这个结论交给别人,就像写在书上成为一个定理,来让别人使用。
所以说,一般来说的返回值就是子函数的返回值
还有一点一定要注意,就是一个子函数一定是只能返回一个值,多了不可以。只能用数组或指针来完成
函数的返回值一般有两种,无论有无返回值,都需要标类型
一个是void型的。这个一般也不用,他是空返回值。也就是当不需要返回值的时候,函数的类型标void。其实这个也是会返回一个值,好像是调用成功返回1,不成功返回0
另一种是非void型的。就是在函数前面写上类型,如int,float,char等,这个就是函数的返回值类型。这个一般在子函数的末尾或者程序的某个部位有个return返回一个。但是遇到return子函数一定是要结束的。
其实还有一种返回值,就是scanf和printf等系统带的函数,这个我知道printf的返回值是他打印的字符的数量。
广告 您可能关注的内容 |