编程中C语言函数想返回2个值该怎么办?楼下真牛逼,恐怕是怪兽大学毕业的吧 。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上 , scanf函数就是这样的一个例子 。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好 , 因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起 。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活 。最后,警告一下不要用 return a,b之类的语句 。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;
C语言-函数返回值return①为什么需要return?
为了回答这个问题 ,
我打算用模块思维来解释 。
②定义模块(形参模块)
定义函数:f(s)(a,b)
满足公式:s=a b
函数名:f(s)
形参:a,b(公式中的变量)
函数返回值:return s
③调用模块(实参模块)
主函数:main()表示用户自己编写的部分
调用函数:f(s)(1,2)
满足公式:x=f(s)(1,2)
函数名:f(s)和定义函数一致,产生调用
实参:1 , 2(赋值给公式的值)
求值:printf("%d\n",x),求x的值?
④值的传递过程
调用模块中调用函数x=f(s)(1,2)
将实参1和2的值赋值给
定义模块中的形参a和b
(实参到形参是单向传递,不可逆)
定义模块计算出s=a b=1 2=3
定义模块中的return s
将s的值赋值给
调用模块中的函数f(s)(1,2)
即x=f(s)(1,2)=s=3
~
return s的作用
就是将定义模块中的s
赋值给调用模块中的调用函数
如果没有return s
调用模块中的调用函数将永远没有定值
即所求x无定值
这一点和数学不一样,
数学中
同一函数名的值是 通用 的,
C语言中
定义函数和调用函数的值是隔离的 ,
尽管函数名一样
如果不赋值,调用函数永远无定值 。
C语言函数调用返回问题一、return命令的含义
return命令的意思是返回调用者百 。如果return后面有值(如你函数中的10),则将该值返回给调用者 。
但是 , 在调用者函数(度如:main)中,如果想得到f()函数的返回值 , 需要有个变量来接收这个值,否则,这个数值将被程序忽略 。
二、变量的定义、赋值与引用问
int main(void)
{
int i;//此时的i只是定义一个变量,变量是用来存储数据的 。好比你想装东西 , 指定了一个箱子,可是现在箱子中没有东西(也可能这个箱子曾经被人用过 , 里面还有些垃圾答---随机值)
f(i);//函数f()引用了i变量,,但是i这个在f()中并没有发生变化(即使变化也不会影响到i,这里又涉及到实参与形参的问题内,先不讲),所以i还是个空箱子
printf("%d\n", i); //此时想输出i的数容值,因为是个随机值(空箱子),当然不能输出你想要的10了 。printf("%d\n", f(i)); //直接把函数返回的值,输出出来,可以看到10
return 0;
}
c语言函数如何返回多个值c语言函数只能最多有一个返回值 。我们以一个数据运算函数作为实例讲解:
使用指针返回额外数据:定义指针参数,将结果通过指针返回 。
如果有很多类型相同的数据,如何返回数组呢?c语言也只能借助指针返回数组 。
使用结构体返回:如果返回多个数据,并且各个数据类型都不相同 。那么只能通过结构体返回 。
使用结构体指针返回:直接返回结构体,程序执行效率会受到影响 。因为需要复制结构体数据,如果结构体数据比较大,复制操作会损耗程序性能 。
通过使用结构体指针,我们也可以返回多个数据结果 。
在c中,除了使用指针,通常使用引用返回多个数据 。与指针相比,使用引用时不用担心函数调用者传入不符合预期的指针 。
c语言中,函数返回值怎么用?【c语言函数返回怎么办 c语言函数返回是什么意思】return后接一个值 。\r\n在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好 。如果需要,比如说需要得到一个整形值\r\n就声明\r\nint func()\r\n在调用它的比如main里面\r\nfunc()的作用就可以相当于一个int型常数\r\n比如外面定义了\r\nint max(int a,int b)\r\n{\r\nreturn ab?a:b;\r\n}\r\n主函数里面是\r\nmain()\r\n{\r\nint A;\r\nA=max(1,2);\r\n}\r\n这时候就是通过max计算 12 则return 一个1 ,1
回答于 2022-11-16
c语言的函数返回值?你可以这么理解,比如我们定义了一个函数fun() , 如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值 , 那么通常他就是一个独立的语句存在 。
比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如
a=fun();b=a fun();if(fun()=0{};……这类的语句,表示a=0;b=a 0;if(00){};等等,当然也可能是返回一个变量的值 , 你个指针的值是一样的 。
如果没有return语句,那么函数没有返回值 , 调用函数里面就不能把他当做一个数值来使用,会出现:
fun();单独成句的语句 , 在fun()里面可能进行了一些操作,但不需要结果 。
C语言自带的函数通常都有返回值,计算函数返回计算结果,操作函数返回操作结果(成功返回1,失败返回0)
c语言函数返回怎么办的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c语言函数返回是什么意思、c语言函数返回怎么办的信息别忘了在本站进行查找喔 。
推荐阅读
- oracle实时更改视图查询条件,oracle修改视图字段类型
- 百度语音播报js代码,百度语音播报js代码怎么设置
- java代码形成图案 java编程图案
- erp系统维护工具,erp系统维护工作流程图
- sqlserver表变更,sql server修改表内容
- 怎么按安装mysql 怎么安装mysql安装包
- html5网页面代码实例,html设计网页的代码
- 虎牙直播为什么不封号,虎牙直播为什么不封号了
- word怎么转ppt,电脑word怎么转ppt