紧张的数学考试中,你发现有一题没法口算,于是掏出早上刚买的计算器,按下
√2 * sin(30)
在你心满意足、大声地按下「=」键后,屏幕上变成了:
计算中,请稍等……
然后过了十秒钟,屏幕上变成了:
计算完毕 :)
???
我建议你还是把这个计算器扔了吧。
---
好了,现在题目里又补充了「用输出参数替代行不行」……
一样的考试,一样的计算了十秒钟后,但是屏幕上什么都没有显示。正在你纳闷的时候,只见计算器里伸出了一只还在滴着黏液的触手,一把卷住了你的右手,逼你在计算器键盘上按下了:
0.70710678118
卷着你的手打完最后一个字,触手就松开了,俏皮地朝你比了个心,慢慢缩回了计算器里。
???
我建议你还是把这个计算器供起来吧。
对于无副作用的函数(纯函数)而言,这个问题显而易见的哔——,因为纯函数没有返回值那么调用的意义就没了。
对于有副作用的函数而言,通常这种程序设计语言都允许函数没有返回值,也就是说函数不一定要有返回值,甚至于给没有返回值的函数取了另一个名字叫做子过程。