1. c语言中函数调用怎么返回两个值
在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。
1 建立数组,返回指针。
在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。
需要注意的是,要返回数组首地址,那么返回的值不可以是局部变量,有如下几种是可以的:
a) 使用静态局部变量存储,并返回地址;
b) 使用全局变量存储,返回地址;
c) 函数中动态分配内存,并返回申请到的地址,此种方法需要注意,在使用后需要释放;
d) 在参数中传入数组地址,并返回。即返回的实际上是主调函数中的变量地址。
2 建立结构体,返回结构体变量。
将需要返回的值,写成结构体形式,并返回结构体变量,这样可以实现一个返回值中含有多组数据。
3 当数据规模较小时,可以采用将小规模数据合并为大规模数据的方式,进行返回。
比如,需要返回两个char型数据时,可以通过返回一个short数据,高地位分别存储各自的值。
除以上方法外,还可以不使用返回值的方式,而是通过函数参数传值,或者全局变量传值等方式,将要返回的值回传给主调函数。
2. c语言函数返回值
这个跟库函数的定义有关。。还有就是编译器的差异。。
有些编译器默认是非0为真,有些非-1为真。。
建议不要使用这么简单粗暴的办法判断。。请使用C提供的标准宏判断。。
在哪里学的。。呃。。自己写代码写多了自然就知道了
3. c语言函数的返回值是什么意思
就是函数的运算结果。特别的,对于main函数来说,返回值表示程序的执行状态。
4. c语言中,函数返回值怎么用
return后接一个值。
在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值
就声明
int func()
在调用它的比如main里面
func()的作用就可以相当于一个int型常数
比如外面定义了
int max(int a,int b)
{
return a>b?a:b;
}
主函数里面是
main()
{
int A;
A=max(1,2);
}
这时候就是通过max计算 1>2 则return 一个1 ,1<2 则return一个2。很明显1<2 所以这里max(1,2)就会return 一个 2
这时候主函数里的max(1,2)就相当于一个常数 2
A=max(1,2)的作用就相当于A=2
这个意思。
5. c语言的函数返回值
所谓返回值,就是人们想要知道函数或者程序所得到 的结果而设计的函数或者程序结束时给出一个值。比如:我们编写一个加法函数,肯定想知道加完过后的结果是什么,那么我们就指定这个结果为该加法程序的返回值。
关于返回值的返回:
1、函数调用语句本身代表其返回值:例如:fun(a);那么“fun(a)”就是这个返回值。
2、可以把返回值存到对应类型的变量之中。例如:int a=fun(b);
3、返回值是多种多样的,可以是各种各样的,int short char double 等等,还可以是指针或者结构体。在数据结构的二叉树部分,某一个函数的返回值是一个带有两个指针的结构体。
6. c语言中调用函数如何返回多个值
1、通过使用指针,在函数调用时,传递带有地址的参数,并使用指针更改其值;这样,修改后的值就会变成原始参数。
7. C语言函数返回类型
1、函数定义为:int
max(int
a,
int
b),这是个函数是获得a,b两个整数值较大的那个,在函数的前面有个int值,说明这个函数返回的是一个整数类型,所以他的返回类型为整型,如果a值比较大就会返回a,这个a的值被称为返回值。
例如:
#include <stdio.h>
int max(int a,int b){
int z;
if(a>b)
z=a;
else
z=b;
return(z);
}void main()
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d \n",c);
} //在主函数中调用函数int max(int a,int b),如果我们输入1,2,则最后显示2,2为返回值,而函数int max(int a,int b)中的返回类型为整型。
8. c语言返回值具体是指什么
子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值。当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达
1、以值的形式返回给你,即return x,这样就可以利用这个结果了,此时函数名前当然要加返回的数据类型了
2、当不需要对这一结果进一步处理时,直接printf,这样可以直接在终端上显示结果了,这时就没必要去加了,直接VOID
(8)c语言函数返回值扩展阅读
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 * 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
9. C语言中什么是函数的返回值
就是调用子函数后(例如int 型),子函数根据实际需要处理后返回给主函数的int型数据.
子函数返回值的类型和和子函数的类型相同.否则程序出错.
10. c语言中函数的返回值到底是什么意思,有什么用
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
函数可以有返回值,也可以没有返回值。
1、没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。
2、有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。
(10)c语言函数返回值扩展阅读
C程序中的print函数:
是这样写的:printf("%d ",printf("%d",printf("%d",i)));
一共有三个printf函数,我们可以使用一些代号来简化这个printf函数,如下:
代号A: printf("%d",printf("%d",i));
代号B: printf("%d",i)
则C程序代码可以简化为:printf("%d ",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 ",A); 实际上就是printf("%d ",1); 打印出1。