C语言函数几个返回值 c语言函数有几个返回值

C语言中主函数是否有返回值,如果有,最多有几个?c语言中,
只要是函数,返回值只能有一个,要想使用这个函数同时改变多个数值 , 可以使用指针 。主函数也不例外 , c语言中主函数一般是void类型,即无返回值 , 如果你是软件专业,后续学习的c++将介绍有返回值的main主函数,我也是软件专业,有问题可以一起讨论,祝你学习顺利 。
c语言函数的返回值只能有一个吗是嘞,铁规矩,一个函数return返回值只能有一个 。那想返回多个返回值咋办嘞(
'?
'
)我这边提供几条思路
1.将多余的返回值赋给全局变量
2.将多余的返回值赋给数组指针
3.将多余的返回值赋予结构体指针
(′?皿?`)完美解答 , 手打求采纳
c语言函数可不可以返回多个值在C语言中,一般情况下函数C语言函数几个返回值的返回值是通过函数中C语言函数几个返回值的return语句来实现C语言函数几个返回值的 , 每调用一次return语句只能从函数中返回一个值 。但在实际很多应用中,C语言函数几个返回值我们需要从函数中返回多个值,那我们可以用什么方法实现呢?此时我们可以用三种方法来实现 。
方法一C语言函数几个返回值:设置全局变量
全局变量是在函数外部定义的全局变量,它不属于任何一个函数,其作用域是从变量的定义处开始,到本程序文件的结尾 。在此作用域内,全局变量可为各个函数所引用 。当我们需要函数返回多个值时 , 除了函数体中的return语句返回其中一个之外,其它的返回值我们可以通过定义全局变量来处理 。因为根据全局变量的特点 , 在被调用函数中改变了多个全局变量和值,相当于其主调函数全局变量的值也发生了变化,也就相当于返回了多个值 。
例如:利用一个函数求出正方形的周长和面积 。
#include
double l=0;//定义全局变量l为正方形周长
void f(double a)//定义求面积和周长的函数
{double s;s=a*a;//求面积
l=6*a;//求周长,并赋给全局变量l
return s;//仅返回面积的值
}
void main()
{double a,area;
printf(“请输入边长:");
scanf("%f",a);
area=f(a);//面积的值通过调用f函数返回值
printf(“面积为:%5.2lf\n”,area);
printf(“周长为:%5.2lf\n”,l);//周长即为全局变量l在f函数中改变后的值
}
上面的例子即用全局变量实现了函数中返回多值的情况,这种方式易懂 。但是全局变量用多了会破坏代码的安全性 , 结构性,这主要是全局变量在所有函数中都可以使用 , 从而其值的变化不确定 , 所以我们要慎用 。
方法二:使用数组名或指针作为函数的形参
数组名或者指针实际为地址,而数组一般都包括多个元素,指针也可以指向一组数据的着地址,把数组名或者指针作为函数形参,实际上相当于主调函数的实参与形参共用地址 , 所以在函数中的数组元素发生改变即是实参也随之改变 。也相当于在调用函数时多个值返回给主调函数 。
实例2:编写函数求一维整形数组的最大值与最小值 , 并把最大值与最小值返回给主调函数 。
方法:以指针方式传递该一维数组的地址,然后把数组的最大值与数组的第一个元素交换,把数组的最小值与最后一个元素交换 。函数被调用完毕后,实参数组中的第一元素为数组的最大值,实参数组中最后一个元素为数组的最小值,从而实现返回数组的最大值与最小值的功能 。程序参考代码如下:

推荐阅读