首页 > 其他分享 >函数(2)从函数中返回

函数(2)从函数中返回

时间:2023-11-18 13:46:35浏览次数:30  
标签:返回 return 函数 int max ret

<1>从函数中返回值

————————return:如果我们所定义的函数要返回一个结果,那么我们就需要用return将这个结果交给所调用的函数。

(1)注意:返回类型

我们以一段代码为例:

int isprime(int i){
int ret=1;
int k;
for(k=2;k<i-1;k++ ){
if(i%k==0){
ret=0;
break;
}
}
return ret;
}

在这段代码中,isprime有一个返回的类型为int,也就是说这个isprime会返回一个int的结果,所以我们需要安排一个return语句来返回这个结果。

(2)单一出口

我们以一段代码为例:

int max(int a,int b){
int ret;
if(a>b){
ret=a;
}else{
ret=b;
}
return ret;
}

在这段代码中,我们可以直接将if-else语句中的ret=a/b换成return a/b;但是这样就不符合单一出口的要求,单一出口意为仅有一个return。

(3)return 语句

  • 一旦出现return 语句,就意味着函数停止执行,并送回一个值;
  • return有两种表达形式:1.return;2.return 表达式;
  • 同时一个函数里可以出现多个return语句,我们以示例的代码为例进行修改
    ————————————————
    int max(int a,int b){
    //int ret;————在此处我们不再选择定义一个变量ret,
    if(a>b){
    return a;——————我们在这里对ret a进行修改,直接返回a值,而不再通过ret变量
    }else{
    return b;——————这里返回b值同上返回a值
    }
    }//return ret;————————我们在前面直接返回a,b的值,这里就不用重复返回

注意:这种方法并不推崇,因为多个return会导致程序有多个出口,不利于后续对出口进行修改。

(4)补充————在函数可以返回值后,我们可以将值赋给变量;还可以将值再传递给函数;甚至可以将其舍弃。

1.接下来我们以一段代码为例

#include<stdio.h>

int max(int a,int b){
if(a>b){
return a;
}else{
return b;
}
}
int main(){
int a,b,c;
a=5;
b=6;
c=max(10,12);
c=max(a,b);
c=max(c,23);
max(23,45);——————//在此处我们仅调用了函数,但是并没有将函数交给任何变量,编译仍然成功
printf("%d\n",max(a,b));
return 0;

}

——————由此可见我们调用函数的目的不一定是注意返回的结果,而是观察函数调用的副作用(在函数执行中进行的操作);

(5)没有返回值的函数

  1. void函数名(参数表);
  2. 不能使用带值的return;
  3. 可以没有return;
  4. 调用的时候不能做返回值的赋值

如果函数有返回值,则必须使用带值的return。

标签:返回,return,函数,int,max,ret
From: https://www.cnblogs.com/QingYuY/p/17836637.html

相关文章

  • django信号中的条件判断不符合时如何提示错误并返回
    在Django中,如果你在信号(Signal)处理函数中需要进行条件判断,如果条件不符合,你可以触发一个异常,并在视图或其他地方捕获这个异常,然后返回相应的错误提示。以下是一个简单的例子,演示如何在信号处理函数中进行条件判断并触发异常:#models.pyfromdjango.dbimportmodelsfromdjan......
  • mysql函数常见字符串函数
    1、BIT_LENGTH返回值为二进制的字符串str长度。--格式:BIT_LENGTH(str)selectBIT_LENGTH('abc'); 2、CONCAT返回结果为连接参数产生的字符串。--格式:concat(str1,str2,…)selectCONCAT('a','b','c')   3、ELT假设n等于1,用这个n去跟后一个数比较,如果n大......
  • mysql函数常见数学函数
    1、ABS(x)返回x的绝对值 --格式:ABS(X)selectABS(23) 2、PI()返回圆周率π,默认显示6位小数--格式:PI()selectPI()  3、SQRT(x)返回非负数的x的二次方根--selectSQRT(X)selectSQRT(2)    4、MOD(x,y)返回x被y除后的余数--selectMOD(......
  • 信号的机制——信号处理函数的注册
    在Linux操作系统中,为了响应各种各样的事件,也是定义了非常多的信号。我们可以通过kill-l命令,查看所有的信号。#kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)......
  • MATLAB/Simulink中调用C语言实现的传递函数
    1.引言在变流器控制中,通常采用C语言实现传递函数,且通常写成独立的C文件,本文简要介绍如何在MATLAB/Simulink中调用这些C文件。在本文中,采用C语言实现了一阶低通滤波器、二阶低通滤波器、滑动平均滤波器,具体代码见附录。同时需要安装C编译工具链,参考《UsingGCCwithMinGW》。2......
  • 重写Java中Arrays数组工具类提供的sort()排序函数中的比较器类Comparator的compare()
    排序方法是我们日常开发或者写功能函数,或者实现算法时,常调用的方法。有时甚至,开发人员自己还要写一写排序算法。今天,我们来修改Java官方提供的Arrays工具类中的静态排序sort()方法。反问一下,为什么要重写呢?官方提供的还不够你用?回答:确实不够用,官方默认是对数字,特别是sort比较的......
  • 似然函数的作用
    似然函数是统计学和机器学习中一个关键的概念,它在参数估计和模型选择等方面发挥着重要作用。下面详细解释似然函数的定义和作用:1.定义:似然函数通常用L(θ∣X)表示,其中θ是模型参数,X是观测到的数据。似然函数描述了在给定一组参数θ的条件下,观测到数据X的概率。2.作......
  • 梯度消失和梯度爆炸——从本质上说残差、LSTM遗忘门(依赖cell state)解决思路都是一样的
    在深度学习中,梯度消失和梯度爆炸是两个常见的问题。梯度消失是指在进行反向传播时,梯度会随着层数的增加而指数级地减小,直到几乎消失,导致深层的神经网络参数无法有效更新。这主要是因为使用了像sigmoid和tanh这样的激活函数,它们在输入值较大或较小的情况下,梯度值接近于0。    梯......
  • 使用C语言Beep()函数演奏歌曲
    曲子是大佬王宗贤的《孔雀之舞》,网上没有找到五线谱,只有简谱,而且曲子速度不明确。通过相关演奏音乐的可大体得知,因为连音较多,至10个小节处为24秒,所以每个小节是2.4秒,因为是2/4拍,每个小节是2拍,所以每半个拍子对应的时长是0.6秒,对应的是一个八分音符的音长,600毫秒在函数中用变量f控......
  • 体验函数计算 FC 3.0,写测评赢取索尼头戴式耳机
    11月1日云栖大会,**函数计算3.0全新升级,相对函数计算2.0,3.0版本突出易用性、高弹性,并且可以和更多阿里云服务无缝集成。**业内首发神龙ServerlessGPU架构,冷启动大幅优化,全链路调度延时降低80%,函数执行性能波动率降低70%;作为事件驱动的全托管计算服务,足够轻量灵活,让用户以更少的......