為何程式設計裡的函式(方法)可以不寫引數,不寫返回值?

時間 2021-05-31 13:30:54

1樓:隱約雷鳴

看了你們的對話,我覺得是你們對」返回值「這個概念有歧義。問者的理解是廣義的,答者的的理解是狹義的。

就比如說:

」你看void printString()

printf("hello world");

是不是既沒有引數又沒有返回值啊?但這也是個有效的函式嘛!「

沒有return,但這個函式也是有意義的,這是狹義的理解。

對,是沒有return,但是它畢竟輸出了一句「hello world」啊,這是廣義的理解。

就算你沒有return欄位,但是你通過指標或者別的方式,畢竟也是向該函式以外的地方輸送了資訊,那也是返回值了嘛。這也是廣義的理解。

所以,問者如果想找尋狹義的答案,那沒問題,很多函式都是沒有return的。

但是如果你是想找尋廣義的答案,那等於是在問」有沒有什麼程式裡有個函式是完全孤立存在的,它不從外界獲取任何形式的資訊,也不向外界輸送任何形式的資訊。如果有,那它為什麼存在,有什麼功能和意義?「

很不幸,後乙個問題,我也在尋找答案。:)

2樓:

大多數語言裡的「函式」和數學裡的「函式」是不同的。

你可以把程式設計時寫的函式看成乙個能完成某些工作的黑盒子,這個黑盒子可以沒有輸入(函式沒有引數),也可以沒有輸出(函式沒有返回值)。

為什麼有些程式語言的型別推斷可以推斷函式引數,有些不會,哪種更好?

clears Pan 強答加不請自來。js應該是很極端的例子了吧,他允許程式設計師不宣告所有變數的型別,全是編譯器自己推斷。結果是 執行同樣的演算法js幾乎是最慢的。問題是 js本身在前端,很多時候並不需要太複雜的演算法,基本只根據使用者的輸入進行相應的反饋。所以即使慢一點,也在使用者可接受範圍內,...

波函式為何可以被形象的稱為「原子軌道」?

首先波函式是薛丁格方程的乙個解,它被拿來定性描寫原子中核外電子運動狀態,即在三維空間能找到該運動電子的乙個區域,注意這個區域就叫原子軌道 波函式的模平方可以詮釋為電子在空間的概率密度。你所看見的1s軌道的球,通常是取電子出現概率為某個定值 例如0.95 的區域。之所以稱為軌道,是因為電子在此範圍內有...

有什麼可以不困的方法?

禰清 風油精。不過我覺得這個在很睏的時候沒什麼用。叫你同桌掐你一下,能多重就多重。只要他力氣大絕對能精神好久。喝水。要猛地喝幾大口。不過作為學生我還是覺得早點睡,白天上課時間利用好了比晚上熬夜真的更有效!還有,中午要睡午覺! 孤默 那就看你對這件事的上心程度,如果你熱愛這這件事,那麼你根本不會困,就...