扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
创新互联专业为企业提供天津网站建设、天津做网站、天津网站设计、天津网站制作等企业网站建设、网页设计与制作、天津企业网站模板建站服务,10多年天津做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
函数可以有返回值,也可以没有返回值。
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 a[] f(),这个shu函数返回值就是一个整型的数组,如果你要返回两个值,可以定义数组长度为2,a[0]保存第一个值,a[1]保存第二个值。
int fun(int a, int b, int *c, int *d);
参数是a,b,返回值是c,d,c和d用指针传进去。
c,d可以是其他参数类型,也可以是数据结构。
函数返回值可以用于返回error。
扩展资料:
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)
调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。
有返回值的函数可以进行计算,也可以做为右值进行赋值。
参考资料来源:百度百科-函数
只能用指针,如 int* cal();返回一个数组的首地址,根据首地址,将数组的元素依次输出
#include stdio.h
#define MIN(x,y)
int * add_1();
main()
{
int * p = add_1();
int b[5];
for(int i=0;i5;i++)
{
b[i] = *(p+i);
}
for(i=0;i5;i++)
{
printf("%d",b[i]);
}
}
int * add_1()
{
int static a[5]={1,2,3,4,5};
return a;
}
扩展资料:
注意事项
一、该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放。
可以是全局变量,静态局部变量,动态分配内存,以及从函数参数传过来的数组地址。
二、返回指针时,无法返回长度,所以需要其它方式传回数组长度,以下是几种常用的方法。
1、约定固定长度。
2、以函数参数返回数组长度。
3、将长度保存在全局变量中。
4、约定数组结束标记。
5、在数组中存储数组长度,如存在第一个元素中。
有些时候需要子函数将一个数组返回出来,通常是两种方法,一种是靠指针,另一种是结构体。
例如指针:
#include stdio.h
char *test(char *tmp)
{
return tmp;
}
void main(void)
{
printf("%s",test("第一个测试例子\n"));
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流