一般而言,我們都聽說過編程語言中的功能或過程。但是,我發現我幾乎可以互換使用這些術語(這可能是非常錯誤的)。所以,我的問題是:在功能,目的和用途方面有什么區別?一個例子將不勝感激。
3 回答
侃侃無極
TA貢獻2051條經驗 獲得超10個贊
一個函數返回一個值,而一個過程僅執行命令。
名稱函數來自數學。用于基于輸入來計算值。
過程是可以按順序執行的一組命令。
在大多數編程語言中,甚至函數也可以具有一組命令。因此,區別僅在于返回值部分。
但是,如果您希望保持函數整潔(只需看一下函數語言),就需要確保函數沒有副作用。
狐的傳說
TA貢獻1804條經驗 獲得超3個贊
這取決于上下文。
在類似Pascal的語言中,函數和過程是不同的實體,不同之處在于它們是否返回值。他們的行為不同。語言語法(例如,過程調用表單語句;您不能在表達式內部使用過程調用,而函數調用則不能在表單語句中使用,您必須在其他語句中使用它們)。因此,帕斯卡(Pascal)的程序員可以區分這些。
在類似C的語言以及許多其他當代語言中,這種區別消失了。在靜態類型語言中,過程只是具有有趣返回類型的函數。這可能就是為什么它們可以互換使用的原因。
在函數式語言中,通常沒有諸如過程之類的東西-一切都是函數。
嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
在C中的示例:
// function
int square( int n ) {
return n * n;
}
// procedure
void display( int n ) {
printf( "The value is %d", n );
}
盡管您應該注意,C標準不討論過程,僅涉及函數。
- 3 回答
- 0 關注
- 1134 瀏覽
添加回答
舉報
0/150
提交
取消
