c语言对函数的认识(C语言自学函数说明4)
c语言对函数的认识(C语言自学函数说明4)
2024-11-08 05:44:47  作者:狠狠想迩  网址:https://m.xinb2b.cn/sport/zhr450516.html

1、函数的返回值与函数要实现的功能的关系

比如,对于月历程序


函数3设计为不返回函数值,所以,定义为void类型。自然,函数功能最后也没有使用return语句。

但是,如果我设计成这样,可不可以?


那也就是说,我设计成需要返回一个int类型的结果值,然后通过return 0;这个0也可以随便换成其他的值,比如5 10 25 14等任意值,没关系,那现在的意思是,这个int与return配合使用,与函数要实现的功能以及函数本身有没有真的能解算出一个结果有绝对的关系吗?

没有!记住没有!没有!没有!

就像上面这个一样,改成有返回值,与原来没有返回值的功能一样,并没有改变啥!

所以,一个函数要不要返回值,以及返回什么值,其实与函数功能并没有严格的对应,可以说完全是程序员自己在设定,当然,如果一个函数功能本身就可以得出一个结果值,或者确实需要一个结果值,那我们可以顺坡下驴,就按照函数的要求进行设定得了,省的我们给他设定,比如


函数1呢,被设定为用来判断一个年份是不是闰年,而这个是不是闰年的结果呢,又被用到


函数2的里面继续使用,这样,出现了连续套用的情况,那如果人为不给函数1设计成带回来一个返回值来表示判断的年是闰年还是平年,那函数2里面怎么决定给month_day是赋值29还是28呢?这样,为了省事,那就把函数2要设计成函数本身需要返回值的这种状况,那就没必要人为非要给他设计成无返回值。

所以,原则上函数要设计成什么类型返回值,要不要设计成有返回值还是无返回值,完全是人为的,即使函数功能要返回值,但我就是把它设计成无返回值,又怕啥?对吧,反过来一样,函数就不需要返回值,但我就把它设计成有返回值,又怕啥?没关系的,但是,我们要顺其自然,做到顺应和谐,如果函数就需要一个返回值,那你就自然地给它设计成有返回值的,如果函数不要返回值,那就设计成无类型返回值得了!免得给自己找别扭,对吧!

那对应的,对函数调用的时候,本来无返回值函数调用很简单,看前面给你讲解的函数说明2的内容,那现在如果你把本来无需返回的函数设计成有了返回值类型,那按照正常的,有返回值是可以继续参与运算的,那你这个返回值并没有多大价值,没必要参与其他的运算,那我调用这个函数咋办?其实很简单,也像无返回值一样,直接写函数调用部分就行,不需要搞成参与运算的形式,那个返回值也自然丢弃了,没地儿用它!

我们没必要固执认为不是有返回值吗?返回这个值之后还得参加二次运算,所以,这是很灵活的,一定要理解!

其实,你再看,在函数3里面,调用了函数2,但是正好是放在if的结构里,你看到的调用正好就是没有显式参与比较的形式,如果你一定要看到函数返回值参与运算,那就写成is_leap_year(year_2)==1或者is_leap_year(year_2)!=0这种形式,那你就理解了参与运算了,只不过if结构里面特殊,简化了比较判断运算而已!

函数的返回值情况,可以分两种,一种是,函数功能就是要运算得出一个结果,比如,我给你三边,函数就可以给我得出一个三角形的面积,这个面积结果就正好能对应到为函数设计的返回值。第二种,还是这个三角形,我给你三边,但是我没有要让你求面积,而是问,是否可以构成一个三角形,那这个需要一个结果,可结果是啥?仅仅是一个“是”或者“不是”的逻辑结果,并没有规定要具体得到一个什么值,那怎么办?只能人为来定了,意思是你只要能正确表达出能构成三角形还是不能构成三角形的效果就行,那好,我说用1表示可构成,0表示不能构成,或者用字符Y表示能构成,N表示不能构成,那都是可以的,没关系!如果你思维还没开放,我说用8表示能构成,用5表示不能构成,可以吗,没关系,可以的!

那我们在设计函数的时候,到底设计成无返回值还是有返回值,那就有了参照了,你可以认为参考函数的功能需求就行,最后,你还要考虑下主调函数的需求,或者说主调函数需要用你这个被调函数返回的值,那你没有把被调函数设计成有返回值,那你要怎么解决这种矛盾!

2、函数的有参与无参

原则上,把函数设计成无参数,那就是说,函数本身把所有需要的都考虑了,不需要开放给主调函数给我传值或者传地址,也就是不需要外界干预,那没关系,你都解决了!省的主调函数为被调函数考虑传什么值了!

当然,函数设计成必须由主调函数给传一个值或者地址才能进行运算,那就需要把部分变量开放出来,设计成有参数的形式,这两种也是很灵活的,原则也都是人为的,你想设计成啥样的就设计成啥样的,当然,结合函数实际的功能需求更好!

好了,那你现在考虑考虑,是否可以把月历函数程序修改下,我不是设计的函数2和函数3都是有参数的嘛,那你能不能修改成不要参数,以及不要返回值等,看能不能还能实现月历打印!

但一个要求,函数必须设计成一个函数一个功能,不能再把多个功能设计在一个函数里!

  • 刚出生不到一周的小猫怎么养(照料刚出生不久的小猫)
  • 2024-11-08照料刚出生不久的小猫当自家猫咪生下一窝小猫时,是一件令人非常开心的事情但是,有些猫咪可能是第一次生小猫,这时就需要主人来帮忙照料由于分娩,而消耗大量精力的母猫和刚出的小猫虽说如此,实际上承担照顾小猫的责任,还是母猫负责而。
  • 兰德酷路泽语录大全(投其所好的下一句)
  • 2024-11-08投其所好的下一句当我们向上汽通用汽车泛亚汽车技术中心外饰设计副总监叶庆元问道,您觉得可以用哪个词来形容科鲁泽,他先不加思索的说了“速度”,后来再改口说了“运动”说白了,对于一个家轿的定位来说,科鲁泽是大胆的,首先推出。
  • 开一碗粥店的利润(只卖粥2年开300家店)
  • 2024-11-08只卖粥2年开300家店外卖,是懒癌们的福音,可以养活一代人!作为人类新四大发明之一,外卖早已成为上班族必不可少的一部分于是,各种品牌的外卖便纷纷涌出,当然,崛起成功的也不少,但是关门大吉的也很多在这其中,有一个专做外卖的品。
  • 我们要学会用经济学思维 当思考经济学问题时
  • 2024-11-08我们要学会用经济学思维 当思考经济学问题时本文节选自《斯坦福极简经济学2》,本书作者蒂莫西·泰勒经济学是一门研究如何将稀缺资源进行合理配置的科学,而每个国家都有各自的经济特点这句话意味着:一个国家存在于什么年代,这个国家的政府是否有作为,这些。
  • gt都有哪些车(真的足够GT范儿吗)
  • 2024-11-08真的足够GT范儿吗【太平洋汽车网文化频道】关于GT名字的来源大概要从很久很久以前开始说,15-16世纪,文艺复兴期间,欧洲大陆吸引着英国人来到阿诺河畔的翡翠冷这场声势浩大的游学在当年的法兰克帝国疆土上重新发掘人性的光辉。
  • 教育部国际学生现状(外国正在学习中文人数超2500万)
  • 2024-11-08外国正在学习中文人数超2500万来源:中国青年报客户端6月28日,教育部语言文字信息管理司司长田立新在教育部新闻发布会上中青报·中青网记者叶雨婷/摄中国青年报客户端北京6月28日电(中青报·中青网记者叶雨婷)在教育部今天举行的新闻发。
  • 退化草地的恢复(草地植被恢复与重建方法)
  • 2024-11-08草地植被恢复与重建方法采用科学的草地畜牧业生产指标:实践证明,仅以牲畜头数来衡量畜牧业的发展,虽然是一个容易理解和操作简单的考核指标,但往往造成片面追求牲畜头数,忽视牲畜个体生产性能和商品畜产品生产量,陷入草地退化和牲畜生。
  • 学车直角转弯有技巧吗(驾校不教的直角转弯技巧)
  • 2024-11-08驾校不教的直角转弯技巧直角转弯是科目二的一个考核点考核机动车驾驶人在急变路段驾驶车辆时正确操纵转向准确判断车辆内外轮差的能力很多考过科目二的学员认为直角转弯是很简单的项目但往往最简单的反而成为考试中最容易失分的项目另外掌握。
  • 连云港吃饭的地方特色(江苏连云港美食集锦)
  • 2024-11-08江苏连云港美食集锦1.小鱼煎饼,它是一种极富有当地特色的小吃,用煎饼包裹着散发着诱人香气的食材,刚吃的时候十分酥脆,而里面的食材则松软香嫩2.虾婆饼是连云港一种特色小吃,用虾和鸡蛋摊成的饼,虾婆饼体大肉多,一般雌虾婆为。
  • 郑爽上演员(郑爽演员身份被摘牌)
  • 2024-11-08郑爽演员身份被摘牌郑爽“演员”身份正式被摘牌,过往所有荣誉称号全部回收,娱乐圈“查无此人”这是昨日,网友意外在郑爽个人社交平台上发现的最新猛料,有关她之前的“演员”身份在这近日正式被官方取消,社交账号上仅存的是她那素人。
  • 冷静再冷静才是上策(冷静期里说冷静)
  • 2024-11-08冷静期里说冷静作者:浙江外国语学院教授马晓霖5月28日,十三届全国人大三次会议表决通过了《中华人民共和国民法典》,自2021年1月1日起施行法典中的一些新规定,也被坊间称为“亮点”,比如说有关离婚“冷静期”的设定,。
  • 头雁培养计划清华大学 清华大学饮水思源
  • 2024-11-08头雁培养计划清华大学 清华大学饮水思源7月16日,清华大学“饮水思源,服务社会”学生骨干培养计划师生到修文县开展实践调研活动农事操作体验活动李宇摄当天,清华大学“饮水思源,服务社会”学生骨干培养计划师生来到六屯镇大木村,先后参观大木村红军。