c语言多次使用函数返回值 c语言返回多个参数

C语言如何让一个函数返回多个值 在C语言中,一般情况下函数的返回值是通过函数中的return语句来实现的,每调用一次return语句只能从函数中返回一个值,下面我们就来看看C语言怎么让一个函数返回多个值!
工具/材料
C语言的编辑器
01
全局变量传递
这种方式算是最不科学的规范,打破了软件开发需要的闭环策略 , 但在基本语法上是支持的,C语言里面最好少涉猎全局变量 , 使用出错的风险会提升很多 , 真要想使用建议还是用静态全局变量直接在变量的前面加上static修饰符 。
02
使用数组名或指针作为函数的形参
被调函数的行参是一个指针,然后在被调函数中返回第一个值,被调函数改变指针参数指向的值,这样主调函数相应的值就改变了,也就相当于返回了第二个值了 。这样就可以实现返回多个值!
03
结构体指针返回
结构体是C语言涉及数据结构的最直接的容器,通常在编程过程中实现一个功能模块在主函数里,我们可以定义一个结构体类型的变量,然后直接用函数返回值赋值就可以了 。
c语言中调用函数如何返回多个值?主要可以通过指针或数组返回多个值c语言多次使用函数返回值,测试代码如下c语言多次使用函数返回值,
//程序功能 , 通过结构体实现多个数据返回及通过多个变量指针实现
#include
stdio.h
#include
stdlib.h
#include
string.h
#define
PI
3.1415926
struct
test
{
int
x;
char
str[20];
};
//返回结构体 , 实现多个数据返回
struct
【c语言多次使用函数返回值 c语言返回多个参数】test*
getTest()
{
struct
test
*t=NULL;
t=(struct
test*)malloc(sizeof(struct
test));
if(!t)
return
NULL;
t-x=10;
memset(t-str,0,20);
memcpy(t-str,"testinfo",8);
return
t;
}
//变相返回圆的面积、周长
void
cir(double
r,double
*area,double
*girth)
{
*area=PI*r*r;
*girth=PI*r*2;
}
int
main(int
argc,
char
*argv[])
{
double
r=10.2;
double
s=0,g=0;
struct
test
*t1=getTest();
if(!t1)
return
1;
cir(r,s,g);
printf("area=%f,girth=%f\n",s,g);
printf("%d,%s\n",t1-x,t1-str);
if(t1)
{
free(t1);
t1=NULL;
}
return
0;
}
c语言函数名义上函数返回值只能有一个变量或者无返回值,但返回的变量可以是指针或结构体等更复杂的数据,通过指针或结构体从而变相实现多参数返回 。可以作为实参间接返回或直接作为返回值返回,但需注意不要返回临时变量,如getTest()函数中不能定义struct
test
t变量直接返回 。
c语言中如何一个函数的多次调用1.可以使用循环语句实现 。例如while循环语句,计算机的一种基本循环模式 。当满足条件时进入循环,不满足跳出 。while语句的一般表达式为:
while(表达式){
循环体
}
2.例程:
#include
int main(){
int n;
while (scanf("%d",n)!=EOF){ //循环读入n,直到EOF
printf ("%d ",n);//调用函数printf输出n,循环多少次,就是输出多少次
}
return 0;
}
关于c语言多次使用函数返回值和c语言返回多个参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读